L’album fotografico digitale diventa uno strumento multifunzione

embedded –

Utilizzando una soluzione system-on-a-programmable-chip basata su Fpga, un team di progetto ha sviluppato un sistema che permette ai fotografi di visualizzare, editare, memorizzare e condividere immagini.

Nel momento in cui aumenta in maniera esponenziale il numero delle istantanee della nostra vita quotidiana tramutate in pixel, cresce anche il numero di dispositivi e di tool software necessari per visualizzare, editare, memorizzare, personalizzare e condividere le fotografie in formato digitale. Appare evidente quindi l'utilità di disporre di un unico sistema di semplice uso in grado di rendere disponibile, in maniera affidabile, tutte queste funzionalità. Sfruttando una soluzione Sopc (System-on-a-programmable chip) basata su Fpga, un gruppo di studenti dell'Information Science Institute presso l'università Jiaotong di Pechino ha sviluppato un album fotografico digitale multi-funzione portatile. Mentre i tradizionali album fotografici digitali sono in grado di memorizzare e visualizzare immagini, questo prototipo dinamico consente agli utilizzatori di editare e personalizzare le foto digitali “al volo” e di trasmettere le immagini direttamente dal loro Pc attraverso Internet. La piattaforma tecnologica su cui si basa questo album multi-funzione è rappresentata da un sistema a elevato grado di integrazione che comprende un processore embedded all'interno di un Fpga. Questo progetto Sopc prevede funzioni di elaborazione dell'immagine, compressione, decompressione, trasmissione e ricezione. Grazie a un flusso di progetto di tipo top-down  è stato possibile ridurre in maniera sensibile il ciclo di sviluppo.

Un sistema flessibile
Utilizzando Sopc Builder, il tool per l'integrazione di sistema, il team di progetto è riuscito a includere tutti i moduli funzionali dell'applicazione mediante un bus Avalon. Questo tool ha permesso di realizzare in tempi brevi un sistema stabile che racchiude tutte le componenti hardware e software necessarie. La piattaforma di sviluppo risulta composta dalla scheda multimediale di sviluppo per scopi didattici DE2 di Altera con un Fpga della serie Cyclone II e un processore embedded Nios II. Il team ha ottimizzato il progetto in termini di dissipazione di potenza utilizzando nel contempo il minor numero possibile di risorse progettuali. La presenza del processore embedded Nios II ha permesso di conseguire un incremento di prestazioni mediante l'utilizzo di periferiche e istruzioni personalizzate per rendere più veloce il funzionamento del sistema. Il team di progetto ha anche previsto la possibilità di apportare future migliorie ed espansioni funzionali. Per esempio, con un'interfaccia di comunicazione integrata, l'album è anche in grado di inviare immagini digitali personalizzate a telefoni mobili.

Elaborazione ad alte prestazioni senza Pc
Di seguito vengono descritte le principali funzioni dell'album fotografico digitale:
-    Memorizzazione di foto digitali - Sfruttando l'interfaccia della scheda SD (Secure Digital) presente sulla scheda di sviluppo, il team ha caricato i dati, le richieste e le linee di indirizzo dalla scheda SD al bus Avalon in modo da consentire al processore embedded di controllare la lettura e la scrittura dei dati della scheda SD.
-    Visualizzazione e riproduzione di una foto digitale - Utilizzando il file system μC/FS per applicazioni embedded, l'album stesso è in grado di notificare alla Cpu del processore i file di foto disponibili nel mezzo di memorizzazione collegato, in modo che l'utilizzatore possa visualizzare le proprie immagini quando lo desidera.
-    Effetti speciali musicali - In questo caso sono stati utilizzati flussi di codice G.729 come formato musicale e un algoritmo di codifica sviluppato in laboratorio per la riproduzione dei motivi musicali.
-    Compressione e decompressione del formato fotografico - Un decodificatore Jpeg incluso nel processore embedded è preposto allo svolgimento delle operazioni di elaborazione con i dati Rgb decodificati e di compressione delle foto nel formato Jpeg per la trasmissione in rete.
-    Trasmissione in rete delle foto digitali - L'album trasferisce i flussi di codice Jpeg ricevuti attraverso la rete a un Fpga per la necessaria elaborazione. Successivamente l'album comprime i dati delle fotografie elaborate in flussi di codice Jpeg attraverso l'Fpga e trasmette questi flussi sulla rete per consentire la condivisione delle immagini. Il team di progetto ha realizzato una scheda con una funzione di rete che si collega con l'Fpga attraverso pin di I/O di tipo general purpose.
-    Interfaccia utente - Poiché la scheda di sviluppo è equipaggiata con un'interfaccia PS/2, il team è stato in grado di caricare le funzionalità del mouse e della tastiera sul bus Avalon e modificare il circuito presente sulla scheda che permetteva al processore embedded di rispondere alle periferiche PS/2.
-    Gestione del file audio e delle foto digitali, elaborazione ed editing delle foto, integrazione ed estrazione della filigrana digitale (watermark) - La piattaforma in questione rende disponibile tutte le risorse di elaborazione necessarie per supportare il software che fornisce tutte queste funzionalità.

Dal punto di vista hardware, l'applicazione prevede i seguenti moduli:
-    File system della scheda SD
-    Ingresso per tastiera
-    Convertitore D/A audio
-    Controllore di rete
-    Controllore Lcd
-    Display Vga (Video graphics array)
-    Circuiti per l'elaborazione delle immagini
-    Circuiti per la decodifica audio.

Per ragioni di compatibilità, I progettisti hanno fatto ricorso a una scheda SD come mezzo di memorizzazione principale per foto e musica. Per garantire le migliori prestazioni nelle operazioni di lettura/scrittura l'impostazione che prevedeva la lettura della scheda SD su una linea è stata modificata sulla piattaforma di sviluppo in modo da poter operare su quattro linee. I moduli per la tastiera e il mouse utilizzano il medesimo protocollo. Nel corso di ogni ciclo, la linea dati trasmette alcuni dati mentre quella del clock trasmette un impulso che viene letto. In questo modo i dispositivi possono trasferire dati all'host e viceversa.Anche se il prototipo prevede l'impiego di un display Lcd, il team di progetto ha sviluppato un'interfaccia Vga con sequenze temporali orizzontali e verticali. La Sram viene utilizzata come memoria dei dati di immagine, visualizzando le immagini successivamente alle fasi di decompressione ed elaborazione.

La componente software
Sul processore embedded gira il sistema operativo μC/OS-II, che rappresenta la piattaforma software per l'album fotografico digitale. Il sistema operativo si occupa della schedulazione dei task funzionali e si propone come una base stabile per l'integrazione di più funzioni. Il gruppo di progettazione ha deciso di utilizzare μC/OS-II perché in grado di garantire prestazioni in real-time e per le sue caratteristiche di efficienza e di scalabilità , oltre che per la sua compattezza. Il modulo codec Jpeg effettua la conversione del formato dell'immagine. Nel caso di codifica, il sistema effettua le seguenti operazioni:
- lettura del file bitmap e memorizzazione dell'informazione grafica nell'architettura dei dati;
- trasformazione del modello di colore
- divisione dei dati in blocchi 8x8
- esecuzione della trasformazione Dct (Discrete cosine transform) inversa, della quantizzazione inversa e della decodifica di ciascuno dei blocchi di dati 8x8;
- utilizzo delle informazioni lette per generare tutte le tabelle richieste dalla decodifica;
- memorizzazione dei dati sotto forma di file Jpeg.
Nel caso della decodifica, il sistema effettua invece le seguenti operazioni:
- lettura dei file Jpeg e memorizzazione delle informazioni grafiche nell'architettura dei dati;
- utilizzo delle informazioni lette per generare tutte le tabelle richieste dalla decodifica;
- divisione dei dati in blocchi 8x8;
- esecuzione della trasformazione Dct inversa, della quantizzazione inversa e della decodifica di ciascuno dei blocchi di dati 8x8;
- trasformazione del modello di colore;
- memorizzazione dei dati sotto forma di file bitmap.

Grazie a questo insieme di processi, l'album digitale si trasforma nel naturale alleato della fotocamera digitale, consentendo agli utenti di rivedere ed editare le foto memorizzate nella fotocamera direttamente e in tempo reale. L'approccio basato su Sopc, grazie alle sue caratteristiche di flessibilità e di integrazione, ha permesso di ridurre sensibilmente il ciclo di sviluppo.

Pubblica i tuoi commenti