Applicazioni: Performance di basso ritardo percettivo nella codifica dell’audio.
Numerosi studi ed algoritmi sono stati proposti per affrontare il problemi della progettazione di migliori set di filtri wawelet per la compressione dell’audio percettivo. Questi algoritmi sono basati su misure pienamente efficienza (bit rate, ritardo, etc) che sono calcolate per un vasto set di configurazioni differenti di pacchetti wawelet, strutturati al albero, con uno schema di codifica che obbedisce ai vincoli di un predeterminato modello psicoacustico.
Abbastanza spesso il modello predeterminato non è egualmente ottimizzato per tutte le configurazioni, prima di tutto perchè i filtri utilizzati hanno diverse localizzazione in tempo e frequenza. In altre parole questo approccio non garantisce la trasparenza percettiva della compressione per tutte le configurazioni testate.
Abbiamo sviluppato un tool per confrontare le performance delle diverse configurazioni di filtri che hanno prodotto una codifica percettivamente trasparente. Il nostro primo obiettivo è la validazione di configurazioni ottimali di filtri che permettono trasparenza con il minimo bit rate, pur mantenendo il ritardo al di sotto di una soglia fissa. Per mezzo di una GUI (Graphic User Interface) l’utente può personalizzare il codec modificando sia i parametri di encoding ( l’albero di decomposizione, i filtri per ogni step dell’albero, etc) sia i parametri del modello psicoacustico, che stabiliscono la trasparenza della compressione con una valutazione soggettivo. Una volta ottenuta la compressione trasparente, ha senso osservare le prestazioni oggettive del programmatore: bit rate stimato e ritaldo globale del filtro.
TMS320 DSPs sono efficienti per la compressione real-time di segnali audio. L’algoritmo del codec è stato dapprima scritto in linguaggio C e, successivamente, ottimizzato sulla piattaforma TMS320C6000TM DSP. L’interfaccia grafica è stata sviluppata in ambiente Matlab. Il codec comunica in real-time con l’interfaccia grafica per mezzo di un Real Time Data Exchange RTDXTTM link.
Applicazioni: Codifica vocale a banda larga
La prospettiva di una comunicazione vocale multicanale/multiutente di alta qualità, attraverso le reti digitali emergenti, ha suscitato molto interesse negli algoritmi avanzati per la codifica vocale a larga banda. A differenza della banda di telefonia standard, da 20Hz a 3400Hz, la banda larga comprende le frequenze da 50Hz a 7000Hz e viene campionata con un rate di 16000Hz per la successiva elaborazione digitale. Diverse applicazione come la teleconferenza, i servizi multimediali e la telefonia a banda larga di alta qualità spesso richiedono la compressione del segnale vocale a banda larga. Le basse frequenze aggiunte, aumentano la naturalezza della voce e migliorano il senso di vicinanza, mentre le alte frequenze aggiunte rendono il suono più nitido e comprensibile. Lo spettro di energia in questa larghezza di banda non è uniforme. Inoltre, l’energia si concentra in bande che distinguono tra voce e voce. Gli algoritmi basati sulla predizione lineare, che sono stati usati efficacemente in codificatori a banda stretta per ottenere un parlato di alta qualità a bassi bit rate, sono inefficienti per la codifica vocale a banda larga perché tentano di eguagliare tutte le frequenze ugualmente bene. Questa distribuzione disomogenea e variabile nel tempo dell’energia del segnale costituisce la motivazione per l’utilizzo della codifica adattiva su sottobanda. Abbiamo sviluppato un codificatore / decodificatore vocale a larga banda in tempo reale che adotta una metodologia basata su trasformata di pacchetti wavelet.
È stato dimostrato che le wavelet possono approssimare i segnali non stazionari che variano nel tempo in un modo migliore che la trasformata di Fourier, rappresentando il segnale su entrambi i domini di frequenza e di frequenza entro i limiti di incertezza di Heisenberg. A causa di questa proprietà, i filtri wavelet concentrano le informazioni vocali in pochi coefficienti vicini, il che è essenziale per una rappresentazione a bit rate bassa. In questo modo possiamo codificarli vantaggiosamente utilizzando un sistema di codifica entropico. I coefficienti del dominio di trasformazione sono stati dapprima quantizzati per mezzo di un quantizzatore uniforme sulla base del fenomeno di mascheramento psico-acustico e quindi codificati con una codifica aritmetica. La codifica aritmetica è stata effettuata adattando il modello di probabilità dei coefficienti quantizzati frame per frame per mezzo di una rete neurale competitiva, che è stata addestrata a rilevare le regolarità nella distribuzione dei coefficienti del pacchetto wavelet. La matrice di peso della rete neurale viene periodicamente aggiornata durante la compressione per modellare meglio le caratteristiche del parlato degli attuali diffusori. L’algoritmo di codifica / decodifica è stato scritto per la prima volta in C e quindi ottimizzato sulla piattaforma DSP TMS320C6000 in modo conforme a QoS.
ELITE/XDAIS – Real TimeTrasmissione e codifica vocale
Abbiamo basato il nostro strumento sulla piattaforma TMS320C6000.
Sono stati utilizzati il kit di avvio DSP TMS320C6711 e successivamente il modulo di valutazione TMS320C6701. Entrambi contengono un DSP a virgola mobile. Quest’ultimo è dotato di un’interfaccia PCI (peripheral component interconnect), che offre funzionalità plug-and-play e la possibilità di supportare modalità di trasferimento dati ad alta velocità.
La voce in ingresso viene campionata a 8 KHz e digitalizzata mediante il convertitore A / D a 16 bit presente sulla scheda DSP. Quindi il segnale digitale viene compresso e inviato in tempo reale al computer host tramite HPI (Host Port Interface), l’interfaccia parallela a 16 bit utilizzata dalla scheda CPU per comunicare con il computer (è possibile accedere alla memoria interna ed esterna di la scheda attraverso l’HPI).
Il computer host compatta la voce compressa con il protocollo UDP / IP e la invia a Internet. Sul computer host è presente anche un’applicazione server, che riceve pacchetti vocali da Internet, li decomprime e invia il parlato compresso alla scheda DSP in tempo reale, dove viene decompresso e convertito in formato analogico.
Due strutture a tubo sono utilizzate per ricevere e trasmettere dati tra la procedura di codifica / decodifica e la porta seriale collegata al convertitore A / D-D / A.
Il ritardo di elaborazione dell’algoritmo di codifica con la CPU TMS320C6701, che ha 8 unità funzionali indipendenti, un tempo di ciclo di 5 ns ed è progettato per eseguire fino a otto istruzioni a 32 bit per ciclo, era inferiore a 2 ms.