Table of Contents Table of Contents
Previous Page  21 / 86 Next Page
Information
Show Menu
Previous Page 21 / 86 Next Page
Page Background

TECH INSIGHT

SWaP-C

tificiale, che comprende numerose librerie basate su

C/C++ pensate per i sistemi di visione artificiale in

tempo reale.

OpenCL

– Linguaggio di programmazione open

source basato su C++ per lo sviluppo di applicazioni,

come avviene con i dispositivi GPU, FPGA e così via.

SDSoC

– L’ambiente di progettazione di Xilinx che

consente gli sviluppatori di implementare inizialmen-

te algoritmi scritti in C/C++ all’interno del sistema

di elaborazione ARM di un dispositivo Zynq o Ultra-

Scale+ MPSoC, profilare il codice di base per identi-

ficare i colli di bottiglia nelle prestazioni, e quindi di

usare il tool di sintesi ad alto livello (HLS) di Xilinx

per tradurre tali colli di bottiglia in blocchi IP basati

su hardware che girano nella porzione di logica pro-

grammabile (PL) del dispositivo.

Il ricorso a questi ambienti abbinato al tool HLS in un

progetto basato su FPGA o su un SoC interamente pro-

grammabile consente lo sviluppo efficiente di applica-

zioni embedded di visione, le quali possono essere col-

laudate rapidamente con tecnica hardware-in-the-loop.

Opzioni di elaborazione

Una volta che l’immagine completa la sequenza di

elaborazione, è anche importante considerare come

i dati sono posti in uscita dal sistema. Al livello più

alto esistono tre principali opzioni di scelta. Una di

queste consiste nell’inviare l’immagine ad un display

usando un’interfaccia standard come VGA, HDMI, SDI

o DisplayPort. Altrimenti, l’immagine (o l’informazione

estratta da essa) può essere trasmessa altrove, come

ad esempio al cloud, per un’ulteriore elaborazione.

Una terza opzione consiste nell’archiviare le immagini

su un supporto non volatile a cui accedere in un se-

condo momento.

Per la maggior parte di queste opzioni ad alto livello

al termine della catena di elaborazione delle immagi-

ni, è importante considerare il formato d’immagine da

usare. Questo offre la possibilità di scegliere se co-

dificare l’immagine usando un algoritmo di compres-

sione standard come H.264 (codifica video avanzata

MPEG-4 Parte 10) o l’algoritmo H.265 (codifica video

ad alta efficienza). Le implementazioni di questi algo-

ritmi sono spesso chiamate Codec, e consentono un

utilizzo più efficiente della banda di comunicazione e

di rete o una riduzione dell’occupazione di memoria,

al prezzo di una piccola perdita di fedeltà dell’imma-

gine. Nelle applicazioni in cui un tale compromesso

non è accettabile, l’immagine può essere trasmessa o

archiviata in formato grezzo o codificata in un formato

senza perdite.

Gran parte delle implementazioni dei codec usano uno

spazio di colore diverso da quello che è prodotto dai