Processori DSP, la scelta migliore per applicazioni di visualizzazione/imaging
I criteri da prendere in considerazione nella scelta del processore DSP per imaging ad alta risoluzione ideale per applicazioni mobili e "indossabili"
Dagli smartphone agli smart watch, dai sistemi ADAS (Advanced Driver Assistance System) alle console per video giochi che permettono di immergersi nella realtà virtuale, dai droni per monitoraggio e videosorveglianza a un’ampia gamma di dispositivi di sicurezza, le aree applicative che utilizzano immagini ad alta risoluzione (1080p, 4K o anche superiori) sono in decisa crescita.
Esistono notevoli opportunità per migliorare ulteriormente la qualità della visualizzazione in alta risoluzione al fine di aumentare l’efficacia delle applicazioni di visione artificiale, specialmente nel settore dei dispositivi mobili e “indossabili”. Per conseguire tale obiettivo è necessario ricorrere a processori DSP di nuova generazione in grado di garantire il giusto equilibrio tra consumo di potenza e prestazioni.
Nel corso dell’articolo saranno esaminati i criteri da prendere in considerazione nella scelta del processore DSP ideale per il processamento di immagini ad alta risoluzione nelle applicazioni mobili e indossabili.
I primi passi
Da quando Steve Sasson, un ingegnere della Eastman Kodak, ideò nel 1975 il primo prototipo della fotocamera digitale, il mondo della fotografia è cambiato per sempre. Chi poteva immaginare allora i progressi compiuti dalla fotografia digitale in termini di risoluzione e il livello di pervasività che le fotocamere avrebbero raggiunto?
Oggigiorno l’imaging ad alta risoluzione ha raggiunto un grado di sofisticatezza tale da essere utilizzato per le più svariate applicazioni che vanno dal riconoscimento facciale (utilizzato sia dagli smartphone sia dai sistemi di sicurezza) al riconoscimento dei segnali stradali nei veicoli (e in un futuro non molto lontano anche nei veicoli autonomi).
In base ai risultati di uno studio condotto da Yole Développement, il mercato dei sensori di immagine CMOS è destinato ad aumentare con un tasso di crescita su base annua del 10,6% fino al 2020, anno in cui raggiungerà quota 16,2 miliardi di dollari. Mentre le applicazioni per gli smartphone rappresentano la parte più importante di questo mercato, quelle che interessano i settori automotive, medicali e della sorveglianza presentano opportunità decisamente interessanti.

Fig. 2 – Il trasferimento delle funzioni di elaborazione dell’immagine e della visione a un processore DSP contribuisce a ridurre sensibilmente i consumi
Dal punto di vista della tecnologia, lo spessore del modulo della telecamera e le dimensioni dei pixel, che ad oggi sono dell’ordine di 0,9 µ, hanno raggiunti i limiti “fisiologici”. Poiché i cambiamenti nel campo delle tecnologie dei sensori avvengono a un ritmo molto elevato, è necessario adottare metodi per l’elaborazione dell’immagine molto sofisticati per ottenere la più elevata fedeltà dell’immagine possibile.
Nella figura 1 è schematizzato il più recente approccio utilizzato per la pipeline (ovvero la sequenza di operazioni) di una telecamera.
Gli algoritmi per l’elaborazione dell’immagine e della visione possono essere implementati in un sistema elettronico utilizzando una combinazione di CPU e/o GPU di tipo general purpose o una pipeline cablata in hardware basata su una descrizione RTL. Poiché la tecnologia dei sensori varia in modo molto rapido e differisce notevolmente da produttore a produttore, una pipeline RTL non è in grado di adeguarsi a questa evoluzione in termini di dimensioni e funzionalità.
Obiettivo di questo articolo è descrivere un metodo più efficace per l’elaborazione dell’immagine e della visione con risoluzione fino a 32 MP che prevede il trasferimento di queste attività a processori DSP realizzati “ad hoc”. Una scelta oculata del processore DSP consente di ottenere le funzionalità richieste dallo specifico progetto di visione artificiale senza penalizzazione alcuna in termini di prestazioni o consumi.
Applicazioni pratiche: alcuni esempi
Azienda impegnata nello sviluppo di tecnologie per l’elaborazione dell’immagine, Morpho aveva adottato i DSP per l’elaborazione delle immagini e della visione Tensilica della precedente generazione per lo sviluppo di video WDR, una tecnologia per il miglioramento della luminosità basata su una singola immagine.

Fig. 1 riquadro – La società giapponese Morpho è riuscita ad ottenere un sensibile incremento delle prestazioni per la propria applicazione video WDR adottando i DSP Tensilica
Grazie al porting di questa tecnologia su un DSP, l’azienda giapponese con base a Tokio è stata in grado di ottenere un miglioramento delle prestazioni di un fattore pari a 8 rispetto alla soluzione precedente che prevedeva l’uso di CPU (Fig. 1).
Per ottenere una risoluzione di 1080p a 30 fps la CPU doveva funzionare a una frequenza di 2,2 GHz, mentre con un DSP la frequenza richiesta è di soli 282 MHz. Tale valore può scendere fino a 70 MHz, in considerazione del fatto che il nuovo Tensilica Vision P5 è in grado di garantire incrementi in termini di prestazioni di un fattore compreso tra 2 e 4.

Fig. 2 riquadro – In un’applicazione per la rimozione della foschia Uurmi Systems è riuscita a ridurre sensibilmente i consumi di energia
L’elevata efficienza energetica della famiglia di processori DSP di Tensilica per l’elaborazione delle immagini e della visione ha consentito all’azienda Uurmi Systems di ottenere un miglioramento del rapporto fps/Watt di un fattore pari a 15 rispetto a una soluzione basata sulla accoppiata CPU/GPU mobile adottata per lo sviluppo di un’applicazione per la rimozione della foschia (Fig. 2).
L’applicazione in questione, implementata in origine sfruttando il processore DSP Tensilica IVP-EP della precedente generazione, potrà beneficiare di ulteriori vantaggi in termini di consumi perché il nuovo Tensilica Vision P5 è 5 volte più efficiente dal punto di vista energetico rispetto al suo predecessore.
Prestazioni/consumi: come sciogliere l’enigma
L’approccio basato sull’accoppiata CPU/GPU, pur essendo caratterizzato da un’elevata flessibilità, evidenzia notevoli penalizzazioni per quanto riguarda il bilancio tra prestazioni e potenza. Come si può desumere osservando la figura 2, l’esecuzione di algoritmi di elaborazione dell’immagine e della visione che richiedono calcoli complessi risulta molto onerosa per le CPU/GPU, il che si traduce in una riduzione delle prestazioni nell’esecuzione di altri task e in consumi di potenza molto elevati.
Nel caso di dispositivi “indossabili”, inoltre, l’opzione rappresentata da CPU/GPU non sarà in grado di garantire la durata della batteria richiesta, farà verosimilmente funzionare il dispositivo a temperatura elevata (e a frequenze di CPU/GPU ridotte) e sarà caratterizzata da notevoli consumi di potenza, soprattutto in applicazioni quali le chat video.
L’altra opzione, ovvero quella di far girare gli algoritmi su un progetto hardware basato su una descrizione RTL da un lato risulta vantaggiosa in termini di rapporto tra prestazioni e consumi mentre dall’altro risulta limitata in termini di flessibilità.
Il progetto hardware richiede un lungo processo di sviluppo e verifica e ciascuna funzione richiesta aumenta le dimensioni del circuito in termini di porte logiche (gate), aumentando l’area di silicio necessaria e dunque il costo del dispositivo. E nel caso sia necessario apportare modifiche all’algoritmo – per soddisfare un nuovo requisito oppure a causa dell’uso di un nuovo sensore o ancora per correggere on errore – è necessario un costoso re-spin hardware.
Il trasferimento di questi processi di elaborazione a un processore DSP realizzato “ad hoc” si propone come una soluzione che permette di ottimizzare i requisiti per quel che riguarda le prestazioni e i consumi, a patto di scegliere il DSP adatto. Una pipeline per la telecamera che preveda il ricorso a un DSP richiede un numero ridotto di porte logiche poiché il processore DSP può essere riutilizzato per più algoritmi.

Fig. 4 – Aumento delle prestazioni ottenibili con il nuovo Tensilica Vision P5 rispetto a quelle conseguibili con i DSP della precedente generazione.
Caratteristiche di un DSP per applicazioni di visione artificiale
La visione artificiale – ovvero quell’insieme di processi che ha lo scopo di emulare la visione umana attraverso l’acquisizione e la comprensione di un’immagine condotte con dispositivi elettronici – è una tecnologia sviluppata a partire dagli anni ’50. Utilizzata in principio in ambito accademico, la visione artificiale si sta rapidamente diffondendo nei dispositivi mobili “indossabili”, oltre che in numerose applicazioni nel campo automobilistico e in quello dei droni.
Negli odierni dispositivi consumer la visione artificiale deve garantire bassi consumi (indispensabili per una maggiore durata della batteria), elevate prestazioni nonchè la possibilità di essere utilizzata in quelle che vengono comunemente definite “killer application” (ovvero che si affermano in modo pervasivo a discapito di altre con le quali entrano in concorrenza).
A tutti piacerebbe “chattare” in video con amico che si trova lontano utilizzando un tablet equipaggiato con uno schermo con una risoluzione di 4K. Oppure utilizzare la stessa tecnologia per consentire a un utente di effettuare misure di tipo funzionale in modo da determinare, ad esempio, se un mobile visionato online possa essere montato nella propria camera da letto.
- I sistemi di elaborazione della telecamera per applicazioni di questo tipo prevedono due elementi chiave – l’elaborazione dell’immagine e l’elaborazione della visione – ciascuna con i propri requisiti che variano in funzione del dispositivo finale.
Per quanto concerne l’elaborazione dell’immagine, i requisiti si possono così sinterizzare:
- Disponibilità di funzionalità avanzate per la riduzione del rumore in modo da consentire l’uso di pixel di dimensioni ridotte
- Integrazione di funzionalità di stabilizzazione dell’immagine video
- Funzionalità di Auto-focus veloce
- Funzionalità HDR (High Dynamic Range)
- Supporto per due telecamere in un singolo dispositivo
- Capacità di supportare un ampio WDR (Wide Dynamic Range), la stabilizzazione video digitale e diversi metodi avanzati per la riduzione del rumore.
Per quanto riguarda invece l’elaborazione della visione, questi sono i requisiti più importanti:
- Rilevamento del viso con una risoluzione variabile dalla VGA (Video Graphics Array) standard a 720p
- Rilevamento di persone e oggetti
- Monitoraggio dei gesti
- Rilevazione del movimento degli occhi
- Rilevamento del movimento
- Reti CNN (Convolutional Neural Network)
Il costante aumento della risoluzione dell’immagine comporta a sua volta la necessità di poter disporre di ampiezze di banda di più estese per consentire la memorizzazione dell’immagine stessa. Mentre le fotocamere integrate negli attuali smartphone sono caratterizzate da una risoluzione di 16 MP, in futuro tale valore è destinato a salire a 24 fino a raggiungere 32 MP. In modo del tutto analogo gli smartphone sono in grado di supportare video con risoluzione di 1080p – e ben presto si arriverà a una risoluzione 4k a 120 fps (frame per second – fotogrammi al secondo).
In considerazione delle funzioni di elaborazione delle immagini e della visione supportate e dell’ampiezza di banda di memoria richiesta, la flessibilità è un requisito chiave per un processore DSP destinato ad applicazioni di visione artificiale. Non va dimenticato che le ottiche, i sensori e gli algoritmi cambiano in continuazione. Per supportare in maniera adeguata queste funzioni di elaborazione e garantire l’ampiezza di banda di memoria necessaria è necessario ricorrere a un DSP per applicazioni di visione artificiale estremamente flessibile con le seguenti caratteristiche:
- Supporto di molteplici algoritmi come rilevamento del viso, del movimento e dei gesti, stabilizzazione dell’immagine, HDR/WDR e riduzione del rumore 2D/3D;
- Programmabilità, in modo tale che un unico processore DSP possa supportare molteplici applicazioni finali e adeguarsi ai cambiamenti dei requisiti di progetto
- Alte prestazioni e bassi consumi
- Possibilità di essere integrato all’interno del percorso di elaborazione del segnale immagine (ISP) per l’elaborazione nel dominio Bayer per supportare funzioni come ad esempio riduzione del rumore e HDR o per poter gestire nuove tipologie di sensori (sensori IR o quelli in grado di rilevare un mix di pixel IR e R,G,B)
- Dimensioni ridotte
Per poter sviluppare processori DSP del tipo appena descritto è necessario la disponibilità di tool di sviluppo sofisticati e di una libreria di funzioni di visione e di immagini ottimizzata. Alcune applicazioni richiedono calcoli matematici di elevata precisione per cui la soluzione adottata deve essere in grado di eseguire operazioni vettoriali in virgola mobile.
Un nuovo DSP per l’elaborazione delle immagini e della visione
Il nuovo DSP Tensilica Vision P5 di Cadence, il più recente membro della famiglia di DSP Tensilica, è un esempio di processore espressamente ideato per applicazioni di elaborazione dell’immagine e della visione. L’architettura e le principali caratteristiche di questo processore DSP di quarta generazione sono visibili in figura 3.
Le caratteristiche del nuovo Tensilica Vision P5 ne fanno la soluzione ideale per l’elaborazione delle immagini e l’analisi, così come per la pre e post elaborazione dei segnali video. Tra queste si possono annoverare:
- Sensibile aumento delle prestazioni di visione rispetto al processore DSP Tensilica IVP-EP della precedente generazione;
- Architettura SIMD a 64 vie
- Interfaccia di memoria a 1024 bit con tecnologia SuperGather
- Supporto migliorato per tipi di dati a 32 bit
- Possibilità di creare istruzioni dedicate per incrementare ulteriormente le prestazioni
- Supporto per un gran numero di funzioni delle librerie OpenCV e OpenVX, così come di diversi kernel di imaging/visione per il filtraggio, il rilevamento di oggetti e il flusso ottico
- Predisposizione per il supporto multi-processore
Sviluppato sulla base del processore configurabile Tensilica Xtensa, il nuovo DSP dispone di un DMA 2D integrato (iDMA) per il trasferimento dei dati ad elevata ampiezza di banda tra la memoria locale e quella di sistema. Tra le altre caratteristiche di rilievo da segnalare un’unità vettoriale in virgola mobile (opzionale), il supporto del codice ECC (Error Correction Code) utile per ottenere la qualificazione per l’uso in ambiente automotive e un’interfaccia ARM AMBA AXI4. L’incremento di prestazioni ottenibile con Tensilica Vision P5 rispetto ai suoi predecessori è schematizzato in figura 4.
L’esecuzione di algoritmi di visione artificiale su CPU (o combinazioni di CPU/GPU) è un approccio molto comune per il quale sussistono notevoli limitazioni in particolar modo per quel che riguarda i consumi di potenza nelle applicazioni mobili e “indossabili”. Il trasferimento dell’esecuzione di tali algoritmi a un DSP ottimizzato come il nuovo Tensilica Vision P5 non consente soltanto di ridurre sensibilmente i consumi, ma anche di supportare in modo efficiente gli elevati carichi di lavoro tipici delle applicazioni di elaborazione dell’immagine e della visione.
Ulteriori informazioni sul processore DSP Tensilica Vision P5 sono disponibili all’indirizzo:
http://ip.cadence.com/ipportfolio/tensilica-ip/image-vision-processing
Pulin Desay, Cadence Design Systems
Contenuti correlati
-
I DSP Tensilica di Cadence per l’audio di NXP
I DSP Tensilica HiFi 5 di Cadence sono diventati un componente chiave nell’ultima famiglia di DSP audio per autoveicoli di NXP Semiconductors, consentendo di implementare funzionalità audio avanzate per veicoli software-defined di nuova generazione. NXP ha infatti...
-
Core Arm Cortex-M85 per i nuovi microcontrollori di Renesas
La nuova serie di MCU RA8 di Renesas Electronics è la prima a integrare il core Arm Cortex-M85, un componente che permette a questi nuovi dispositivi di raggiungere performance fino a 6.39 Coremark/MHz. A parte le prestazioni,...
-
Metodologie e strumenti di apprendimento dell’Elettronica Industriale
Lo sviluppo tecnologico crea molte sfide nell’istruzione delle materie relative all’elettronica industriale. Allo stesso tempo, permette di implementare nuovi paradigmi educativi sia a livello universitario sia nell’apprendimento permanente. Questo articolo è una panoramica sulle metodologie e strumenti...
-
Cadence ottimizza il software per realizzare reti neurali a bassa potenza
Cadence Design Systems ha ottimizzato il software HiFi Cadence Tensilica per i digital signal processors (DSP). In questo modo potrà eseguire in modo efficiente TensorFlow Lite for Microcontrollers, facente parte della piattaforma open source end-to-end TensorFlow per...
-
I DSP di Cadence Design Systems
Presso lo stand di Cadence Design System a Embedded World 2020, l’azienda mostrerà i suoi DSP Tensilica e i tool per la progettazione e la verifica di applicazioni automotive ed embedded. In particolare i visitatori potranno vedere...
-
Cadence presenta il DSP Tensilica Vision Q7
Cadence Design Systems ha ampliato verso l’alto la sua famiglia di prodotti Tensilica Vision DSP con all’introduzione del DSP Cadence Tensilica Vision Q7. Il DSP Vision Q7 è specificamente ottimizzato per la localizzazione e la mappatura simultanea...
-
Tensilica ConnX B20 : la nuova soluzione DSP di Cadence
Cadence Design Systems ha annunciato l’IP DSP Cadence Tensilica ConnX B20, la versione con prestazioni più elevate della famiglia ConnX. ConnX B20 dispone infatti di un’architettura di pipeline più profonda, un aumento della frequenza di clock e...
-
Cadence per l’automotive
Cadence esporrà a embedded world 2019 i più recenti DSP Tensilica e i design tool destinati alle applicazioni automotive. Le demo relative al segmento automotive comprenderanno diversi segmenti. Per le applicazioni ADAS si potranno vedere i core...
-
Cadence presenta il DSP Tensilica HiFi 5
Cadence Design Systems ha annunciato il DSP Tensilica HiFi 5, una nuova soluzione, destinata ad applicazioni audio e voce, ottimizzata per il far-field processing ad alte prestazioni e il riconoscimento vocale basato su intelligenza artificiale (AI). In...
-
Microchip : un DSC single core più performante in un package ultra compatto
dsPIC33CK è la nuova famiglia di Digital Signal Controller (DSC) a 16 bit di Microchip. Questi componenti riuniscono le capacità di un DSP e la semplicità progettuale di un microcontroller (MCU). I dispositivi includono dotazioni di sicurezza...














