Riassunto tesi di Elvio Magliocca
Titolo
"Metodi e sperimentazione prototipale per l'elaborazione
del segnale audio multicanale in ambienti eterogenei"
La tesi tratta l'aspetto innovativo nel campo dell'audio multicanale;
con multicanale qui si intendono quei formati audio che supportano
un numero superiore di canali rispetto al mono e allo stereo.
Sono state sviluppate differenti implementazioni di formati audio
multicanali; questi formati si distinguono per metodo di codifica,
applicazione e metodo di compressione/riduzione, se quest'ultimo
è impiegato.
Due categorie principali di differenziazione di formati audio
sono i formati di trasmissione e i formati di file; i tipi di
formati audio multicanali qui considerati sono relati a entrambi
i campi, e vengono tuttora utilizzati in trasmissioni, codifiche
su media (supporti digitali), applicazioni hardware e software.
Un altro tipo di differenziazione applicata nello studio di questi
file è il metodo di codifica; essi generalmente vengono
distinti tra file audio con codifiche di tipo PCM (Pulse Code
Modulation, sistemi multibit) e codifiche differenziali (sistemi
a 1-bit). Il metodo impiegato in questi nuovi formati, richiede
lo studio di un modello psicoacustico e la codifica di algoritmi
basati su di esso. Inoltre utilizzano differenti tecniche di compressione
o di riduzione, che nascono dal concetto base delle tecniche di
tipo Lossless (senza perdita di dati, uso di ridondanze) e Lossy
(perdita di dati).
L'innovazione della ricerca, consiste nello studio di queste metodologie
di codifica, nel confronto tra esse e nella conclusione di una
possibile transcodifica tra i formati considerati.
La tesi inizia con un'introduzione sull'audio digitale e i formati
di file audio multicanali, con codifiche di tipo PCM e sistemi
differenziali. Vengono presentati degli esempi, sia per la codifica
PCM, Sound Designer II e AIFF (Audio Interchange File Format),
sia per il sistema di codifica differenziale, DSD (Direct Stream
Digital), presentata come un'alternativa al PCM multicanale.
Di seguito ci si introduce nella parte principale della tesi.
Qui viene trattata la parte relativa agli strumenti di base per
codifiche audio multicanali di alta qualit, come il modello
psicoacustico, il metodo di quantizzazione e di codifica, l'analisi/sintesi
Filterbank, la compatibilit con altri sistemi di riproduzione.
Fin dai primi sviluppi dell'audio multicanale, tre tipi di formati
sono stati tra i più concorrenziali, cercando tutti di
divenire lo standard di impiego, sia in europa che oltre continente.
Questi tre formati si differenziano tra loro, oltre che per qualità,
per caratteristiche tecniche, e sono:
DTS : Digital Theater System (USA)
AC-3 : Dolby Digital (USA)
MPEG : Moving Picture Expert Group (EUROPE)
Ognuno di essi riproduce un formato di 5.1 canali, cioè
un canale sinistro e uno destro frontali, uno centrale frontale,
e due canali posteriori di Surround, più un canale per
effetti di bassa frequenza, denominato Lower Effect Channel (LFE).
I 5 canali riproducono audio con un'ampiezza di banda di frequenza
da 20Hz a 20kHz, mentre il .1 (LFE) riproduce audio con un'ampiezza
di banda di frequenza in genere da 3Hz a 120Hz.
Un sistema di codifica che si basa su un modello psicoacustico
viene definito di tipo perceptual. L'idea base di questa codifica
perceptual è nascondere il rumore di quantizzazione al
di sotto di una soglia d'ascolto dipendente dal segnale. La più
rilevante caratteristica in psicoacustica è masking, cioé
il possibile effetto di mascheramento nel dominio delle frequenze.
Un segnale debole è completamente mascherato attaverso
un mascherante che è più alto e ha un contenuto
simile in frequenza.
La struttura base di un codificatore perceptual è composta
da:
- un filterbank utilizzato per decomporre il segnale in input
entro sottocampionate componenti spettrali (time/frequency domain).
Insieme al filterbank corrispondente del decodificatore esso forma
un sistema di analisi/sintesi.
- un modello perceptual, che utilizza il segnale in input nel
dominio del tempo o in output di un'analisi filterbank, per computare
una stima della soglia di mascherazione attuale tramite regole
conosciute dalla psicoacustica.
- quantizzazione e codifica delle componenti spettrali con lo
scopo di mantenere il rumore, introdotto dalla quantizzazione,
al di sotto della soglia di mascherazione. Questo passo è
fatto in molti modi differenti, dipendenti dall'algoritmo, da
semplice block-companding a sistemi di analysis-by-synthesis utilizzando
compressione addizionale senza rumore.
- una formattazione per assemblare il codice in un flusso di bit
chiamato bit stream, il quale tipicamente consiste di coefficienti
di quantizzazione e codifiche spettrali e alcune informazioni
aggiuntive.
Confronto delle strategie di codifica
Il motivo dello sviluppo degli algoritmi per i formati DTS, AC-3
e MPEG era aumentare la qualità di riproduzione dell'audio
multicanale. Scopo di ognuno di essi é un'alta riduzione
del data rate; questo viene attuato tramite: studio di un modello
psicoacustico, analisi/sintesi con filterbank, bit allocation
adattativa, un sistema di compatibilità per effettuare
downmix, e uso di tecniche avanzate come l'accoppiamento di canali
in alte frequenze (coupling) o crosstalk dinamico, nel caso di
bit rate molto ridotti. Tutti e tre gli algoritmi impiegano questi
metodi di compressione/riduzione (compressione fa uso di ridondanze,
riduzione elimina ciò che é considerato irrilevante),
ognuno con implemetazione differente.
Prima considerazione da fare é che DTS impiega un algoritmo,
nominato coherent acoustics, che si basa su una tecnica di codifica
di tipo Lossless, cioé fa uso di ridondanze per ridurre
il data rate; mentre AC-3 e MPEG impiegano una codifica di tipo
Lossy, cioé eliminano informazione dal segnale sorgente
considerata irrilevante con una minore qualità in riproduzione,
ma un'alto rapporto di compressione.
Frequenze di campionamento diverse possono essere supportate
dai differenti formati, DTS ha un range che va da 8kHz a 192kHz,
AC-3 campiona a frequenze standard di 32, 44.1 e 48kHz, mentre
MPEG può essere implementato a frequenze minori (1/2 di
quelle standard) per bit rate molto bassi, oppure a quelle standard.
Differenti bit rate variabili sono inoltre impiegati da ognuno
dei formati a seconda dell'impiego, DTS ha un range da 32kbit/s
a 4096kbit/s, AC-3 varia da 32kbit/s a 640kbit/s, mentre MPEG
varia da 48kHz a 1152kbit/s, per questo tipo di formato esistono
differenti implementazioni con reciproci aumenti di costi all'aumentare
della qualità di codifica. Naturalmente differenze esistono
anche nella lunghezza delle parole di risoluzione e di precisione
di calcolo, DTS computa la codifica con parole a una precisione
di 40bit e una risoluzione da 16 a 24bit (fino a 138dB di dynamic
range), nel caso impieghi una codifica floating-point essa può
arrivare fino a 32bit di risoluzione, con il dovuto aumento di
data rate; AC-3 computa la codifica a 24 bit e può effettuare
risoluzioni fino a 20bit, per MPEG viene usata una risoluzione
solo di 16bit e una computazione a 24bit, bisogna evidenziare
il fatto che la codifca attuata da questi ultimi due algoritmi
é di tipo block companding (compressione block floating-point)
e quindi permettono un dynamic range superiore al PCM con stessa
qualità di risoluzione, mentre DTS impiega una codifica
differenziale.
Filterbank differenti vengono utilizzati, per il medesimo scopo,
a suddividere il segnale in ingresso in sottobande di frequenza
di uguale ampiezza, da tutti e tre gli algoritmi. Il numero di
tali sottobande dipende dalla frequenza di campionamento del segnale
sorgente, per frequenze inferiori o uguali a 48kHz, DTS e MPEG
suddividono il segnale in 32 sottobande portando così una
risoluzione di frequenza di 750Hz, mentre per AC-3 la risoluzione
di frequenza di default é di 93.75Hz, questi valori sono
modificabili in concomitanza con il bit rate. Per quanto DTS e
MPEG impieghino medesimo numero di sottobande essi trattano un
modello differente di codifica portando ad un numero di campioni
nel frame differente. Il frame DTS può contenere da 256
a 4096 campioni per canale, MPEG può contenere fino a 1152
campioni per canale e il frame AC-3 può arrivare a 1536
campioni per canale; tutto questo porta a differenti bit rate
con dimensione differente del buffer al decoder.
Per ciò che riguarda il modello psicoacustico, tutti e
tre gli algoritmi impiegano un'analisi del segnale sorgente per
determinare informazioni rilevanti, lo scopo di questo é
rimuovere bit dalla rappresentazione del segnale in maniera che
sia inaudibile; dovuto alle proprietà di mascherazione
di frequenza la migliore rappresentazione dell'audio é
nel dominio delle frequenze. La tecnologia qui adottata si basa
sul principio che non é quali bit devono essere rimossi,
ma bensì, quali bit devono essere portati via e quali allocati,
e in che modo. Tutto questo porta ad una forma di bit allocation
adattativa che opera sulla singola sottobanda. In questi formati
multicanali la routine di bit allocation opera su tutti i canali
codificati, e adatta con il passare del tempo, frequenza e canali,
per ottimizzare la qualità dell'audio, con l'impiego di
una comune bit pool e del modello di mascherazione si può
allocare i bit ai canali in maniera più saggia, permettendo
di ridurre il data rate, dato che tipicamente 5 programmi di canali
richiedono 5 differenti data rate tra tutti loro.
Dopo un'analisi psicoacustica ne viene effettuata una sui transienti,
questo porta gli algoritmi a cambiare la loro risoluzione di frequenza
e di tempo in relazione al comportamento del segnale. Segnali
audio a stato costante beneficiano di una risoluzione di frequenza
fine, mentre segnali transienti richiedono una più fine
risoluzione di tempo. Non é possibili atttivare contemporaneamente
alta risoluzione di tempo e di frequenza, quindi bisogna raggiungere
un compromesso.
Differenti sono gli aprocci impiegati per la codifica delle parti
rilevanti del segnale; il processo utilizzato da DTS coinvolge
un metodo di codifica adattativo-predittivo tipo ADPCM, dove si
impiega una predizione lineare adattativa su tutti i coefficienti
ottimali calcolati per tutti i tipi di sottobande di campioni.
AC-3 fa uso di un inviluppo spettrale, cioé ogni coefficiente
indivuale é codificato entro un esponente e una mantissa
e l'insieme di questi esponenti forma una rappresentazione dello
spettro del segnale completo, questo spettro viene codificato
in una forma differenziale in frequenza. MPEG utilizza una metodologia
di codifica che cambia a seconda del livello impiegato, basata
su una codifica a blocchi; da una codifica lineare a una codifica
con tabelle di codici di Huffman, con l'impiego di fattori di
scala e compattazione di triple di parole in un'unica parola di
codice.
Tutti i formati hanno proprietà di effettuare downmix
(un missaggio verso il basso), cioé la conversione dei
6 canali di trasmissione entro il formato stereo e mono. Per DTS
funzioni di donwmix sono incluse nel decoder, il quale include
coefficienti di mix preinseriti, ma modificabili da coefficienti
inseriti nel bit stream, questo permette al programma una grande
flessibilità nel determinare l'ottimo mix di parametri,
ma un decoder più complesso. In AC-3 il downmix é
permesso con la codifica di tutti i canali entro una rappresentazione
nel dominio delle frequenze. Solo il downmix dei segnali sono
trasformati nel dominio del tempo, questa tecnica riduce la complessità
del decoder 2 canali significantemente, dato che la porzione più
complessa dell'algoritmo, l'inversa filterbank, viene rappresentata
solo su due canali. Comparandola con la compatibilità di
tipo matriciale, questa tecnica porta ad un incremento modesto
nell'ammontare di memoria del buffer di input (rispetto a solo
due canali di dati di input bufferizzati di un decoder due canali).
C'è inoltre bisogno di rappresentare bit allocation su
5 canali invece che solo due. Questo incremento in complessità
é pensato essere uno scambio eccellente nel provvedere
un singolo segnale il quale può ugualmente servire un'ampia
varietà di decoder con differente numero di canali di riproduzione
e differenti ottimizzazioni di donwmix. Dato che AC-3 distribuisce
tutti i canali al decoder codificati discretamente, il decoder
ha piena flessibilità a effettuare downmix dei canali nel
modo più appropriato alla situazione d'ascolto. MPEG impiega
un approccio di tipo matriciale, codificando informazione di downmix
nei canali sinistro e destro, ma questo vincola grandemente il
disegno multicanale; quindi é possibile anche provvedere
in aggiunta al bit stream multicanale le due codifiche monofoniche,
il vantaggio é che non é imposto nessun tipo di
vincolo, lo svantaggio é l'incremento di capacità
di dati richiesto.
Sebbene queste tecniche di codifica sono molto potenti, ci sono
casi che richiedono un'ulteriore riduzione dei dati (bit rate
molto bassi). Quando questo accade DTS e AC-3 applicano una tecnica
nominata coupling, cioé la codifica di una somma di sottobande
di segnale di alte frequenze di 2 o più canali audio. A
frequenze audio alte (oltre 2kHz) l'orecchio é fisicamente
inabile a scoprire cicli individuali della forma d'onda audio,
e invece risponde all'inviluppo della forma d'onda. Direzionalità
é determinata attraverso il ritardo di tempo inter-aurale
dell'inviluppo del segnale, e attraverso la risposta di frequenza
percepita la quale é affetta attraverso l'oscurazione della
testa con le orecchie. Coupling prende vantaggio dal fatto che
l'orecchio non é abile a scoprire indipendetemente la direzione
di due segnali ad alta frequenza i quali sono molto vicini spaziati
in frequenza. Il comportamento di MPEG é differente, però
anch'esso basato sulle caratteristiche di spazializzazione dell'orecchio
umano. Secondo il modello di ascolto biauricolare, é possibile
determinare la porzione del segnale stereofonico irrilevantemente
rispetto alla percezione spaziale della presentazione stereofonica.
I componenti del segnale stereo irrilevanti non sono mascherati,
ma non contribuiscono alla localizzazione della sorgente del suono;
essi sono ignorati nel processo biauricolare del sistema auditorio
umano. Perciò, i componenti irrilevanti di ogni segnale
stereo possono essere riprodotti da qualsiasi altro altoparlante,
senza influenzare l'impressione stereofonica. Questo può
essere fatto indipendentemente per ogni numero di regioni di frequenza.
Questo fenomeno permette l'uso di un metodo di riduzione di dati,
denominato CrossTalk dinamico, per audio multicanale, nel quale
le componenti irrilevanti sono copiate ad altri canali.
Parte rilevante di un confronto tra i tre algoritmi é
la definizione di una possibile transcodifica tra essi, senza
dovere ritornare al PCM sorgente. E' bene tenere in considerazione
che i formati AC-3 e MPEG, facenti uso di una tecnica di tipo
Lossy, portano a una perdita di informazione irrecuperabile; anche
se ritenuta irrilevante essa, é pur sempre udita dall'ascoltatore;
più per il formato MPEG, ritenuto per questo motivo di
discreta qualità, mentre in minore misura per AC-3 cosiderato
di buona qualità soggettiva. DTS impiega invece una tecnica
di tipo Lossless il che fa uso di ridondanze e non comporta perdita
di informazione. Naturalmente, i primi due formati hanno il vantaggio
di effettuare una grande compressione, fino a 14 volte. E' lecito
quindi pensare, che una transcodifica da MPEG o AC-3 verso DTS
comporti, se ammissibile, una qualità audio scadente rispetto
a quella supportata dal formato in questione. E' possibile invece,
prendere in considerazione una conversione dal formato DTS verso
i formati AC-3 e MPEG.
Come si é visto sopra, tutti gli algoritmi utilizzano
lo stesso metodo teorico: lo studio di un modello psicoacustico,
analisi/sintesi con filterbank, bit allocation adattativa, un
sistema di compatibilità per effettuare downmix, e uso
di tecniche avanzate come l'accoppiamento di canali in alte frequenze
(coupling) o crosstalk dinamico. Ma una implementazione del codice
differente.
Non é possibile effettuare una conversione diretta dal
bit stream di DTS a AC-3 o MPEG perché questi ultimi impiegano
un metodo di rilevazione del modello psicoacustico differente
dal primo, e tra loro. Cioé ognuno di essi, per quanto
simile, impiega una codifica differente delle parti rilevanti
del segnale. Si può pensare la possibilità di effettuare
una conversione a livello di campioni quantizzati, cioé
si applica, non completamente, la decodifica del formato DTS a
recuperare le sottobande differenziali del segnale di ogni canale
audio, a questo punto due casi sono possibili, o si impiega la
trasformata inversa del filterbank a recuperare lo spettro del
segnale, in questo modo si può processare il segnale audio
nuovamente con le tecniche di MPEG e AC-3, oppure; si effettua
la codifica dalle sottobande di campioni ripristinate. Teoricamente,
se si impiegano risoluzioni di tempo e di frequenza compatibili
tra il formato sorgente e quello finale, questo é possibile,
non é però garantita una qualità audio soggettiva
allo stesso livello di una coversione effettuata dal PCM sorgente.
Il problema esiste anche nella possibile transcodifica tra il
formato AC-3 e MPEG.
Bisogna anche considerare che essi impiegano una dimensione del
frame differente, anche in casi di stessa frequenza di campionamento
e risoluzione di campioni, questo comporta l'impiego di un buffer
di dimensioni abbastanza grande da permettere l'immagazzinamento
dei campioni da trattare.
Ad oggi non esistono ancora applicazioni software che effettuano
codifiche dal formato PCM a quelli qui trattati, ma solo applicazioni
di tipo hardware. Tra quest'ultime solo alcune effettuano codifiche
di più formati, tipo MPEG e AC-3, queste però solo
dal sorgente PCM e non da una transcodifica tra essi. Tutto questo
ci fa pensare che se esiste la possibilità di un'implementazione
di transcodifica hardware o software essa é molto complessa.