Università degli Studi di Milano - Corso di Laurea in Scienze dell'Informazione

 

DENOISING BASATO SU CODIFICHE ADATTIVE DEL SEGNALE AUDIO: METODI E PROTOTIPI SOFTWARE PER LA SPERIMENTAZIONE INTERATTIVA

 

Tesi di Laurea di Relatore:
Zappalà Giuseppe Prof. Goffredo Haus
Matr. 396424 Correlatore:
Dott. Domenico Rossi

 

Il lavoro svolto nella suddetta tesi ha come obiettivo il denoising, ovvero la soppressione o quantomeno la riduzione del "rumore" , dai segnali audio.
Si è centrata l'attenzione in modo particolare verso la riduzione del rumore di fondo ovvero del cosiddetto "rumore bianco" generato da strumenti di registrazione analogici o dall'usura dei supporti usati per la registrazione stessa. Il rumore di fondo è caratterizzato da un spettro di frequenza molto ricco, ad ampia banda, che coinvolge tutte le componenti frequenziali del segnale audio. Il metodo generale per la riduzione del rumore di fondo è la Sottrazione spettrale. Questa tecnica presuppone che il segnale degradato y(n) sia dato da y(n)= x(n) + d(n) , ove x(n) è il segnale originale e d(n) è il segnale di disturbo. Nel dominio delle frequenze lo spettro risultante è dato da: Y(w)= X(w) + D(w).
Se si ha una valida stima dello spettro del rumore D(w) si può ottenere una buona stima del segnale sorgente X(w) sottraendo al segnale corrotto, mediante uso di filtri, il rumore; il problema principale è che non è sempre semplice determinare una stima valida del rumore di fondo ed inoltre spesso le componenti del rumore deteriorano il segnale sorgente.
L'approccio seguito in questa tesi, a differenza dei comuni metodi per la Sottrazione spettrale, si basa su una analisi adattiva del segnale: dato un segnale sorgente ed una libreria di basi ortogonali si sceglierà la rappresentazione ottimale del segnale tramite tali basi con un certo criterio esposto di seguito.
L'analisi del segnale viene eseguita suddividendo lo stesso in blocchi di uguale ampiezza (definibile dall'utente); ogni blocco viene estratto con un'opportuna funzione "finestra" che gestisce le sovrapposizioni tra blocchi adiacenti e che permette successivamente la ricostruzione del segnale senza l'introduzione di ulteriore rumore. Per ogni blocco si costruisce un albero binario la cui radice è data dal blocco originario ed i cui nodi sono costruiti attraverso una suddivisione dicotomica del suddetto blocco sempre con le opportune funzioni "finestra".

 

 

 

 

 

Il livello L dell'albero può essere deciso dall'utente, con l'unico vincolo 2L£ N, ove N è la dimensione del blocco del segnale. Ogni nodo dell'albero è "trasformato" usando una DCT o una DST , (Discrete Cosine/Sine Transform) locali ovvero definite sull'intervallo da analizzare. Ad ogni nodo verrà associato un "costo" tramite una funzione predefinita. La base che meglio rappresenterà il blocco sarà data dalla successione dei nodi che "copre" l'intero intervallo di N campioni e che ha "costo" minimo (vedi esempio in fig.).

 

 

 

 

 

La funzione che associa un costo ad ogni nodo restituisce valori bassi se la "concentrazione" dei campioni trasformati è alta ( ovvero se esistono solo pochi elementi significativi ovvero pochi elementi hanno un'ampiezza elevata a differenza degli altri ) e valori alti se invece la distribuzione dei campioni è uniforme o quasi. Una funzione adatta a questo scopo è la formula per il calcolo dell'entropia di Shannon; infatti se consideriamo i campioni come valori di una funzione di distribuzione di probabilità (con opportune modifiche) l'entropia di Shannon tende a zero se solo pochi elementi hanno una probabilità elevata e tende ad infinito se i campioni sono equiprobabili. Il programma sviluppato supporta diverse funzioni costo Per i nostri scopi si è usata una funzione che attraverso l'uso di una soglia conta i campioni che la eccedono.
Le politiche seguite nell'operazione di denoising sono riconducibili a due casi.
Si può scegliere di eseguire una sottrazione spettrale nelle sezioni del brano in cui le componenti frequenziali sono elevate (in ampiezza) e, quindi, in cui l'attenuazione di alcune componenti non comporta un'eccessiva perdita di informazione; viceversa si evita di "sottrarre" informazione nelle sezioni di brano in cui le ampiezze delle frequenze sono basse e quindi in cui l'effetto della sottrazione potrebbe essere più pesante cioè oltre a sottrarre il rumore c'è la possibilità di perdere informazione del brano originale (senza rumore).
La seconda politica è praticamente l'opposta della prima. Si ritiene che il rumore sia più facilmente udibile nelle sezioni di brano in cui le componenti del suono hanno ampiezze basse (e si opera la sottrazione spettrale in questo caso) piuttosto che nelle sezioni in cui le elevate intensità possono mascherare il rumore.
In questa tesi si è scelto quest'ultimo approccio. Diventa a questo punto cruciale la scelta della soglia che dovrebbe costituire una stima (in ampiezza ed in frequenza) del rumore di fondo (può essere ottenuta valutando il fruscio nell'intervallo tra un brano ed il successivo oppure in un momento di pausa durante il brano). Inoltre la soglia, intesa come stima del rumore, coincide (nello sviluppo del progetto) con la soglia usata nella funzione costo per la scelta delle basi, in modo tale che la rappresentazione, tramite le suddette basi, del segnale metta in evidenza le porzioni di segnale dove la Sottrazione ha un effetto più alto.
Il software sviluppato offre la possibilità di intervenire interattivamente sull'ampiezza del blocco di segnale da analizzare, sulla profondità dell'analisi (profondità dell'albero), sulla scelta delle trasformate da utilizzare per l'analisi, ed infine sulla soglia.
Per quanto riguarda il formato dei file audio da trattare si sono utilizzati file di tipo AIFF (in ingresso ed anche in uscita) con frequenza di campionamento a 44100 Hz, codifica PCM lineare a 16 bit, e monofonici.