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"

Pubblicato il 23 novembre 2015

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.

Figure_1

Fig. 1 – Schematizzazione del più recente approccio utilizzato per la pipeline di una telecamera

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.

Figure_2_New

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.

Figure_5_New

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.

Figure_6

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.

Figure_3_New

Fig. 3 – Architettura del processore DSP di quarta generazione Tensilica Vision P5

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.

Figure_4

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

  • Cadence: IP DSP per reti neurali

    Cadence ha presentato la prima IP DSP per reti neurali destinata alle applicazioni automotive e di sorveglianza, ai droni e ai dispositivi mobili. Tensilica Vision C5 è il primo core IP DSP stand-alone autonomo per reti neurali...

  • Cadence: nuove versioni di Allegro e OrCAD per Cadence oltre a un Dsp per reti neurali

    In occasione dell’ultima edizione di CDN Live Europe, che si è tenuto a Monaco di Baviera, Cadence ha presentato le nuove versioni dei propri software per l’automazione della progettazione Allegro e OrCAD, unitamente a Tensilica Vision P6,...

  • DSP Concepts migliora Audio Weaver con il supporto per i DSP Cadence Tensilica HiFi

    Cadence Design Systems e DSP Concepts hanno annunciato che lo strumento grafico di sviluppo audio Audio Weaver di DSP Concepts è stato ottimizzato per supportare i processori per segnali digitali (DSP) audio/voce Cadence Tensilica HiFi. La tecnologia di DSP Concepts...

  • Xilinx System Generator semplifica la progettazione wireless

    Xilinx ha annunciato la versione 2015.3 di System Generator per DSP, il principale tool di alto livello per progettare sistemi DSP ad alte prestazioni usando i dispositivi interamente programmabili di Xilinx. Con System Generator, gli sviluppatori di...

  • RS distribuisce i DSP di Analog Devices

    RS Components offre in pronta consegna i primi DSP di Analog Devices appartenenti alla nuova famiglia di processori a elevate prestazioni e ad alta efficienza energetica ADSP-BF70x Blackfin. I dispositivi della famiglia ADSP-BF70x Blackfin sono basati sul nuovo...

  • Altera aderisce all’Embedded Vision Alliance

    Altera ha annunciato di aver aderito all’Embedded Vision Alliance (EVA), un consorzio industriale che riunisce produttori e sviluppatori di tecnologie utilizzate per realizzare applicazioni pratiche di visione artificiale. Altera metterà a disposizione del consorzio il know how...

  • Altera: gli FPGA da 28 nm superano i test di Berkeley Design Technology

    Altera è la prima azienda ad aver superato con successo i benchmark (prove comparative) relativi a progetti DSP (Digital Signal Processing) in virgola mobile complessi implementati su dispositivi FPGA in tecnologia...

  • 20 nm: le innovazioni targate Altera

    Nel corso di una recente conferenza stampa Altera ha annunciato le innovazioni chiave per i suoi prodotti da 20 nm della prossima generazione.

  • Enea: kit di valutazione FastTrack per i prodotti QorIQ Qonverge di Freescale

    Enea ha annunciato il lancio della sua prima iterazione di FastTrack, un kit di valutazione software per prodotti QorIQ Qonverge di Freescale.

  • DSP: uno sguardo al mercato

    iL’elaborazione digitale dei segnali si è estesa a moltissimi settori e l’offerta di questi componenti è ormai vasta. L’articolo presenta una panoramica delle principali opzioni disponibili in questo mercato in continua evoluzione

Scopri le novità scelte per te x