La multimedialità è ovunque

Le applicazioni embedded fanno sempre più spesso riferimento a informazioni di natura multimediale per soddisfare la crescente richiesta di interazione e di comunicazione sia con l’uomo, sia con le macchine. Tali sistemi sono quindi evoluti dalla natura monomediale a quella multimediale, in particolare quella audio-video. I circuiti integrati di media e larga scala di integrazione hanno conseguentemente inglobato le funzionalità necessarie al trattamento dell’informazione di natura multimediale. L’evoluzione dell’informazione da monomediale a multimediale ha imposto ai sistemi embedded una notevole quantità di requisiti funzionali, di cui molti di natura computazionalmente intensiva. Ciò ha portato allo sviluppo di circuiti integrati orientati al supporto delle principali funzionalità multimediali, come il codec audio e video, i compressori/espansori di formati audio e video, ecc. La disponibilità di tali circuiti integrati ha consentito di affrontare le problematiche applicative con requisiti di multimedialità in ambito embedded rispettando le relative specifiche di sistema, come le piccole dimensioni, i bassi consumi e il basso costo. La disponibilità di processori di natura system-on-chip con elevate capacità di calcolo, ha consentito di affrontare la problematica dell’embedding della funzionalità multimediale in maniera più efficace ed effettiva, in particolare quando questi processori sono multimedia-oriented. Le aree applicative più importanti sono quella della comunicazione e quella dell’infotainment, sia di natura domestica che automotive. In queste applicazioni le informazioni come la voce e le immagini vengono elaborate contemporaneamente. I dispositivi a supporto di queste elaborazione si fanno carico di problematiche, oltre che di codifica e decodifica, anche di sincronizzazione tra audio e video o di altre onerose problematiche che legano l’audio al video.

L’informazione multimediale pervade tutte le applicazioni
Il multimedia è ormai un’importante innovazione tecnologica che pervade quasi tutte le applicazioni, sia di natura industriale, sia di natura consumer: televisione digitale, telefonia mobile e set-top box, sono solo la punta dell’iceberg. L’informazione multimediale è una combinazione di differenti formati informativi: testo, grafica 2D e 3D, audio, video, ecc. Questi, in formato digitale, consentono innumerevoli applicazioni, ma implicano anche un elevatissimo requisito computazionale dovuto soprattutto alle tecniche di codifica come Mpeg, H.264, MP3 e dalle esigenze di elaborazione legate alle sempre più sofisticate modalità di fruizione delle informazioni. I sistemi embedded stanno incrementando le prestazioni e la funzionalità in tutti i campi. Il supporto hardware e le piattaforme di computing cui fanno riferimento si stanno adeguando progressivamente a questi requisiti, in particolare a quello di trattamento del segnale video (codifica e decodifica), audio (codifica e decodifica), della grafica e della comunicazione dei dati. La complessità dei requisiti applicativi in ambito multimedia è tale che nessun dispositivo è in grado di inglobare tutte le risorse computazionali necessarie. I system-on-chip sono una delle soluzioni più ragionevoli, considerando la necessità di integrare funzionalità computazionali anche notevolmente diverse tra loro. L’offerta di soluzioni a livello di circuiti integrati multimediali per le applicazioni embedded segue tre strategie fondamentali, quella della piattaforma processore general purpose ottimizzata per il trattamento dell’informazione multimediale, quella della piattaforma del multimedia processor che integra soluzioni Dsp specializzate per le varie tipologie di informazione multimediale e quella del multimedia Dsp, cioè il Dsp ottimizzato per trattare l’informazione multimediale.

I processori Arm e IP
I processori Arm sono diventati un importante riferimento per le applicazioni multimediali in ambito embedded. Questi sono processori che basano tutta la loro potenzialità sulle peculiarità dell’architettura Risc (Reduced Instruction Set Computer). Tale architettura si caratterizza per il set ridotto di istruzioni ottimizzato principalmente intorno alle istruzioni di natura Load/Store. Grazie a questa soluzione, i processori possono essere particolarmente efficienti nell’esecuzione delle istruzioni pur mantenendo bassa la frequenza di clock e quindi i consumi di potenza elettrica. L’efficienza esecutiva deriva da ulteriori ottimizzazioni come l’ortogonalità del set istruzioni, il numero esteso di registri e l’eseguibilità della maggior parte delle istruzioni in un singolo ciclo. Oltre a queste caratterizzazioni tipiche dell’architettura Risc ortogonale, i processori Arm sono particolarmente efficienti nell’esecuzione di algoritmi computazionalmente intensivi come quelli richiesti dalle applicazioni multimedia. Una di queste caratteristiche è ad esempio quella di condizionare l’esecuzione delle istruzioni a un condition code. In tal modo l’esecuzione di una istruzione avviene solo quando è verificato il condition code. Tale verifica è hardware e non a controllo di programma, quindi è al netto delle istruzioni di controllo tipicamente necessarie all’implementazione di operazioni da eseguire se si verificano certe condizioni di stato (tipicamente quelle dall’Alu). In tal modo il codice consiste solo di istruzioni esecutive (quelle eseguibili in un singolo ciclo) e non contiene istruzioni di controllo (eseguibili in numerosi cicli). Inoltre, la macchina è molto facilitata a livello di decodifica ed esecuzione delle istruzioni in quanto non necessita di operazioni di branch-prediction in quanto i salti condizionati non ci sono quando vengono utilizzate istruzioni ad esecuzione condizionata. Un’altra funzionalità che rende particolarmente efficiente la capacità computazionale è la disponibilità nell’Alu del barrel-shifter, cioè di un dispositivo di scorrimento a destra o a sinistra di un numero di bit da uno a 32. Dato che molti algoritmi di elaborazione dell’informazione multimediale fanno un utilizzo consistente di operazioni di scorrimento (soprattutto se utilizzano l’aritmetica fixed-point), con la possibilità di eseguire lo shift di numerosi bit in un solo ciclo istruzione, si rende particolarmente efficiente e veloce il codice e si evita di tenere elevata la frequenza di clock. Arm offre anche soluzioni ottimizzate come la Gpu (Graphic Acceleration Unit) Mali Gpu per la grafica embedded, il vieo engine Mali-VE, il middleware Mali software ottimizzato per la grafica 3D in sistemi embedded a ridottissimo footprint, la tecnologia Neon (estensione dell’Arm Cortex-A) (Single Instruction, Multiple Data architecture) e OpenMax, lo standard per la portabilità delle librerie multimediali.

I processori multimediali
I processori multimediali sono sistemi particolarmente ottimizzati per l’elaborazione dell’informazione multimediale, quindi dotati di tutte quelle soluzioni computazionali che consentono di eseguire in maniera rapida ed efficiente l’elaborazione dell’informazione multimediale. Un esempio di processore multimediale è il PNX1500 Media Processor Series di NXP. Questo è un sistema completo per il trattamento Audio/Video/Grafica. Si tratta d un system-on-a-chip che integra un high-performance 32-bit VLIW processor, il TriMedia TM3260. Questo dispositivo è in grado di eseguire via software l’elaborazione video di alta qualità (multi-video standard digital decoder/ encoder e image improvement) oltre all’ audio signal processing e a tutte le funzionalità di elaborazione di natura general purpose necessarie all’applicazione. Il PNX1500 elabora i segnali di ingresso sia video che audio secondo specifici algoritmi, quindi li invia alle periferiche esterne che servono a sollevare questo processore dal gestire gli aspetti di comunicazione, e quindi di disporre di una banda aggiuntiva per il video e l’audio. La combinazione tra questa CPU e i suoi moduli, consente al PNX1500 di affrontare adeguatamente quelle applicazioni che richiedono un’elevata capacità computazionale.

Il Dsp Multimediale
Il Digital Signal Processor può essere considerato un’alternativa ai multimedia processor, grazie alla sua architettura computazionale particolarmente ottimizzata verso l’elaborazione numerica del segnale. I Dsp sono macchine di calcolo molto efficienti, ma non orientate alla specificità dell’informazione multimediale, in particolare l’audio e il video. Per questo motivo e per soddisfare le esigenze applicative nel campo dei sistemi embedded multimediali, sono stati sviluppati i Dsp multimediali. Un esempio di tale dispositivo è la piattaforma di computing Omap di Texas Instruments. Questa piattaforma di computing combina la soluzione Arm con la soluzione Dsp per ottenere un sistema di computing capace di affrontare in maniera efficiente le problematiche di computing tipiche del multimedia in applicazioni come gli smartphone che, oltre a trattare l’informazione multimediale eseguono anche sistemi operativi e altre funzionalità di sistema come l’interfaccia utente e la connettività. Omap 5 è un SoC che utilizza una Cpu Arm Cortex-A15 dual-core e altri due Arm Cortex-M4. Oltre a questi core, Omap di quinta generazione integra anche due graphic core PowerVR SGX544MP, un graphics accelerator TI 2D BitBlt, un a multi-pipe display sub-system e un signal processor.
 
Multimedia e mobile computing

Un’area applicativa particolarmente importante per le applicazioni multimediali è quella del mobile. Le applicazioni mobile possono essere considerate “la formula uno” delle applicazioni embedded, in quanto la piattaforma del mobile offre l’occasione di implementare funzionalità avanzate, di cui quelle multimediali sono le più innovative. I dispositivi mobile stanno evolvendo rapidamente dall’attuale funzionalità di natura “sistemi secondari per il consumo di contenuti” a quella di “sistemi di computing principale”. Ciò significa che i dispositivi mobile di nuova generazione avranno la capacità di creare e modificare i contenuti, oltre a consumarli. In particolare, grazie al trattamento attivo dell’informazione multimediale, tali dispositivi consentiranno di eseguire giochi e altre attività video-audio/grafiche in modalità 3D, di interagire verso l’utilizzatore tramite interfacce naturali e in generale di eseguire applicazioni “naturali”. I dispositivi mobile non avranno dunque limitazioni circa la loro capacità di computing, avendo anche la possibilità di supportare più sistemi operativi contemporaneamente, come avviene per i sistemi desktop. Ciò sarà possibile grazie alla disponibilità di circuiti integrati a larghissima scala di integrazione particolarmente ottimizzati per la gestione del sistema e per il trattamento dell’informazione multimediale. La fotografia computazionale sarà una delle innovazioni più importanti del mobile computing, grazie al supporto dei processori programmabili per l’imaging e il video con capacità di eseguire in hardware applicazioni come il riconoscimento della faccia e la gestione contemporanea di più telecamere (fino a quattro). La gestione dell’interfaccia utilizzatore è un’altra innovazione del mobile computing combinata alla capacità di elaborazione dell’informazione multimediale. Il 3D stereoscopico, il controllo della gestualità e la capacità interattiva sono solo tre delle funzionalità a supporto dell’interfaccia naturale che caratterizzerà il mobile computing supportato dai dispositivi integrati di elaborazione dell’informazione multimediale.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome