Dithering Audio & Co.
Il dithering audio è un processo in cui del rumore viene volontariamente aggiunto ad un segnale da digitalizzare, prima della quantizzazione, allo scopo di rimuovere la distorsione dovuta alla quantizzazione stessa...
Il dithering audio è un processo in cui del rumore viene volontariamente aggiunto ad un segnale da digitalizzare, prima della quantizzazione, allo scopo di rimuovere la distorsione dovuta alla quantizzazione stessa, particolarmente evidente nei segnali di basso livello. Siamo quindi di fronte ad un caso in cui, abbastanza curiosamente, la (volontaria, misurata e consapevole) aggiunta di rumore contribuisce a migliorare la qualità della conversione. Tale procedimento è utile nel momento della conversione da analogico a digitale ed anche in caso di riduzione della risoluzione di un segnale già in formato digitale.
Questo particolare trattamento non è riservato solo ai segnali audio: anche le immagini, infatti, possono giovare dell’aggiunta di “rumore” secondo lo stesso procedimento.
Campionamento e quantizzazione
Campionamento e quantizzazione sono le due fasi in cui un segnale analogico viene trasformato in una sequenza discreta di numeri. Non mi dilungo sul concetto perché questo è già ben trattato in un altro articolo su questo stesso numero di Sound&Lite, precisamente Analogico – Digitale: andata e ritorno, di Mario di Cola e Marta Furlan.
Come già scritto, appunto, nell’articolo citato, entrambe le fasi della conversione analogico-digitale implicano una perdita di informazione e quindi un errore nella ricostruzione del segnale (analogico) originale. Naturalmente, in un sistema di conversione ben progettato, gli errori nella ricostruzione del segnale saranno limitati al punto da essere normalmente trascurabili. Nelle applicazioni audio musicali moderne la quantizzazione sfrutta tipicamente da 16 a 24 bit, vale a dire da 216 a 224 livelli, quindi il sistema dispone di una dinamica (teorica) da 96 a 144 dB che pare più che sufficiente per la maggior parte delle applicazioni. Ci sono però casi in cui il numero di livelli di quantizzazione disponibile è molto minore di quello massimo: alla fine della coda di un riverbero, ad esempio, oppure per contributi a bassissimo livello come l’assolo di un violino che sfuma nel silenzio... In casi come questi è possibile che la distorsione dovuta all’errore di quantizzazione diventi evidente e il dithering può offrire un modo per minimizzare il danno.
Dithering audio
La parola inglese “dither” si può tradurre con “tremore” o con “agitazione”. Si può esemplificare il concetto con qualche figurina: la figura 1a è la rappresentazione grafica di un tono puro a 440 Hz per il quale sono disponibili solo gli ultimi 4 livelli (4 LSB = 4 Least Significative Bit, quattro volte l’ampiezza del bit meno significativo), insieme alla corrispondente uscita di un campionatore a 44.100 campioni/secondo. La forma d’onda risultante, quella verde a gradini, è abbastanza diversa dall’originale in ingresso (rappresentato in rosso) da permettere di apprezzare la distorsione anche ad orecchio. La figura 1b rappresenta lo spettro del segnale, in verde nella figura precedente, calcolato su un secondo: è visibile una discreta quantità di distorsione, soprattutto in alta frequenza.
figura 1b: tutto ciò che non è il singolo tono a 440 Hz - 0 dB è distorsione prodotta dal rumore di quantizzazione.
È il caso di rimarcare che nei 2,5 ms rappresentati nella figura 1a ci sono circa 110 campioni (44.110 x 0,0025); la rappresentazione digitale è così poco accurata (cioè i “gradini” sono così visibili) perché è scarsa la risoluzione sull’asse verticale, non quella sull’asse dei tempi.
La figura 1c rappresenta lo stesso tono puro con l’aggiunta di una certa quantità di rumore casuale, insieme alla corrispondente uscita dello stesso campionatore di prima. La figura 1d mostra lo spettro del segnale di colore verde della figura 1c, anche questa volta calcolato su 1 secondo: in questo caso il dithering ci ha “regalato” circa 25 dB nel rapporto tra segnale utile e distorsione.
Spingendosi ancora più in là, cioè a livelli ancora più bassi, il “valore aggiunto” dal processo di dithering diventa ancora più evidente: nella figura 2a è rappresentata un’onda sinusoidale dall’ampiezza di 0,8 LSB e il relativo risultato della digitalizzazione: in pratica un’onda quadra. Aggiungendo una certa quantità di rumore alla sinusoide, il risultato della digitalizzazione si può rappresentare come nella figura 2b. Da notare che, dato che il rumore aggiunto ha un andamento volutamente casuale, il segnale digitale non è più propriamente periodico – al contrario della sinusoide iniziale e della sua controparte digitale in assenza di dithering. La figura 2c riporta invece, sempre nel dominio del tempo, una media punto per punto del segnale digitale della figura 2b su 50 periodi della sinusoide.
Vale la pena far notare che il sistema uditivo umano è, per natura, portato in un certo modo a “mediare” ciò che ascolta su qualche decina di millisecondi (Brüel 1976, cit. da [4]), in un modo più o meno analogo a quello che è stato simulato matematicamente per ottenere la figura 2c.
Il concetto si può esprimere in altri termini: ammesso che il sistema digitale possa “concepire” solo valori interi, approssimando i valori intermedi all’intero più vicino, il valore 0,7 – ad esempio – sarà sempre espresso con il valore 1; se questo 0,7 si presenta all’ingresso del campionatore 100 volte di fila, inesorabilmente all’uscita di questo si leggerà 100 volte il valore 1, commettendo ogni volta un errore di 0,3. Aggiungendo del rumore casuale, lo stesso segnale di prima passerà ancora 100 volte per il valore 0,7 ma questa volta il campionatore, eccitato dal segnale originale + rumore aggiunto, fornirà a volte un’uscita pari a 0, altre volte un’uscita pari a 1. Di più: se il rumore aggiunto ha valor medio nullo (ed è proprio questo il caso), l’uscita del campionatore sarà più o meno 30 volte pari a 0 e 70 volte pari ad 1, fornendo così un valore medio pari proprio a 0,7. In pratica, non potendo far nulla sulla precisione assoluta del singolo campione, per mezzo del dithering possiamo migliorare la precisione “in media”.
Un altro caso, ancora più estremo, è quello rappresentato nella figura 3a: qui il tono puro da digitalizzare è pari a 0,3 LSB, cioè è troppo basso per fare “scattare” anche solo il livello più basso del campionatore. In questo caso l’uscita del campionatore senza dither sarebbe identicamente nulla. Aggiungendo rumore, l’uscita del campionatore si muoverà rapidamente tra –1, 0 e 1 all’incirca come in figura 3b e la media su 50 periodi del segnale digitalizzato (che in assenza di dither sarebbe nulla) è rappresentata nella figura 3c. In questo caso si può dire che il dithering ha virtualmente incrementato la risoluzione del sistema.
Ma serve davvero a qualcosa?
Pochi mesi fa, alla convention AES di Barcelona, mi sono imbattuto in un “poster” in cui tre ricercatori danesi presentavano i risultati di un test d’ascolto svolto con criteri scientifici su un gruppo di non professionisti dall’udito normale ([3]). Il risultato, in breve, è che l’aggiunta di dither porta un miglioramento all’ascolto del segnale digitalizzato per risoluzioni minori o uguali a 4 bit (16 livelli, ‑72 dBFS a 16 bit) con un segnale musicale e minori o uguali ad 8 bit (256 livelli, ‑48 dBFS a 16 bit) per il parlato. Questo significa, ad esempio, che, nel caso (frequente) in cui il mixdown da una workstation digitale implichi una conversione da 24 a 16 bit, il dithering può avere un effetto positivo percepibile quando siano presenti contributi ad un livello inferiore a circa ‑50 dBFS.
Il dither sulle immagini
Anche per il trattamento delle immagini il dithering è un procedimento molto usato per simulare un maggior numero di colori o di sfumature di grigio rispetto a quelli disponibili. In una rappresentazione in bianco e nero, ad esempio, differenti livelli di grigio possono essere simulati variando la densità dei puntini bianchi e neri che compongono l’immagine.
Anche nella rappresentazione dei colori sulla carta stampata si usa spesso un procedimento di questo tipo: è sufficiente osservare con una lente d’ingrandimento un’immagine a colori, ad esempio sulla rivista che state leggendo, per accorgersi che le varie sfumature sono in realtà composte tramite l’accostamento di punti colorati.
Questo è tutto?
Ovviamente no, ho sorvolato su molti particolari e ho trattato solo il cosiddetto “dithering non-sottrattivo a distribuzione rettangolare”. La letteratura sull’argomento è piuttosto vasta ma qui lo spazio è quello che è (e per fortuna, dirà qualcuno). Esiste anche il dithering sottrattivo, che utilizza un procedimento leggermente diverso da quello descritto qui sopra; inoltre le varie implementazioni usano tipi di rumore con particolari distribuzioni di ampiezza (diverse da quella “rettangolare”) e spettrali che promettono di migliorare ulteriormente la performance del procedimento, spesso in dipendenza dal programma da trattare.
Riferimenti:
[1] John Vanderkooy, Stanley P. Lipshitz –Resolution Below the Least Significant Bit in Digital Systems with Dither – JAES Volume 32 Number 3, March 1984
[2] John Vanderkooy, Stanley P. Lipshitz – Dither in Digital Audio –AES Journal Volume 35 Number 12, December 1987
[3] Preben Kvist, Karsten Bo Rasmussen, Torben Poulsen – A Listening Test of Dither in Audio System –Convention Paper 6328 Presented at the 118th AES Convention, 2005 May 18-31 Barcelona, Spain.
[4] Manuale di Acustica applicata – A cura di Renato Spagnolo – Utet 2005