Lo sviluppo della tecnologia microelettronica portatile è caratterizzato da onde di innovazione e sviluppo che si propagano per ampi periodi di tempo. Negli anni '70 c'è stata l'onda del computing portatile, a cui è seguita negli anni '80 e '90 quella delle comunicazioni portatili. Ora siamo nell'onda dell'intrattenimento portatile sia video che audio. Dsp e Asic sono state le tecnologie di computing abilitanti, ma se per l'audio tale soluzione di computing è più che adeguata, per l'elaborazione video, essendo una funzionalità ad elevata intensità di calcolo (computational intensive), sono richiede architetture computazionali particolarmente efficienti. I Dsp in particolare sono stati per lungo tempo una delle soluzioni principali per realizzare applicazioni video capaci di soddisfare i requisiti real-time tipici delle applicazioni embedded. Malgrado l'ottimizzazione di cui sono stati connotati nel tempo, i Dsp però non riescono a garantire gli altri requisiti tipici dei sistemi embedded: il basso consumo, le piccole dimensioni e il basso costo (soprattutto per le applicazioni consumer). Per questo motivo sono stati sviluppati nel tempo processori con architetture di computing ottimizzate per l'esecuzione di algoritmi di elaborazione video, soddisfacendo in tal modo i suddetti requisiti applicativi. I circuiti integrati per il video processing rappresentano la soluzione ottimale per affrontare le problematiche applicative in cui la componente di elaborazione video è dominante. Questi componenti sono progettati per eseguite in maniera dedicata le numerose operazioni necessarie a rendere disponibile, all'application processor, i dati video nella forma condizionata e preelaborata (eliminando interferenze e rumore e decomprimendo e deinterallacciando). I video processor IC sono dunque finalizzati a risolvere nella maniera più veloce ed efficente possibile tutte le problematiche di gestione del segnale video a basso livello, cioè prima del livello applicativo. Questo livello di gestione può arrivare a elaborazioni anche molto complesse, come la decompressione e decodifica multipla e contemporanea di più formati video, oppure al riconoscimento di informazioni specifiche all'interno del frame o della sequenza di frame dell'immagine.
Video processore per doppia e singola immagine
Il processore video TC9019x di Toshiba può visualizzare due immagini indipendenti simultaneamente grazie a una frame memory integrata. Inoltre, la memoria on chip consente di sovrapporre i segnali video a dati grafici che vengono forniti da un sistema di navigazione. Oltre a questa peculiarità, il processore video incorpora una serie di altre funzionalità come i decoder video, l'adattamento alle caratteristiche del display Lcd e il supporto di vari formati video analogici e digitali.
System-on-Chip Digital Media Processor
Il digital media processor DaVinci di Texas Instruments è un esempio di piattaforma di computing orientata al trattamento digitale del segnale video nelle sue molteplici manifestazioni come l'imaging e la visone. La piattaforma mette insieme un processore general purpose, un acceleratore video, un Dsp e una serie di periferiche che rendono versatile la sua applicazione. Il TMS320DM6446, basato sulla tecnologia DaVinci, è un esempio di SoC progettato esplicitamente per le applicazioni di media networked endode e decode in applicazioni embedded. Si tratta di un'architettura dual-core, un Dsp (TMS320C64x+) e un Risc (Arm926EJ-S).
Il processore Dsp è il più performante dei Dsp della famiglia C6000 di Texas Instruments, basato sull'architettura Vliw (Very Long Instruction Word), quindi dotato di un'elevatissima capacità di esecuzione parallela degli algoritmi di image processing (6480 milioni di istruzioni al secondo con un clock di 810 MHz).
Il procesore Risc è un'architettura Arm a 32bit, capace di eseguire istruzioni sia a 32 che a 16 bit, di operare su dati a 32, 16 e 8 bit e dotato di un elevato livello di pipelining che consente di far funzionare tutte parti del processore e il sistema di memoria in maniera continua (senza attesa di completamento dei processi sequenziali). Il DM6446 dispone di logica hardware application-specific che gli consente di essere particolarmente efficente relativamente alle applicazioni video, in particolare alcune periferiche come le 2 porte video configurabili, la 10/100 Mb/s Ethernet Mac con Data Management Input/Output, la Audio Serial Port.
Il Video Processing Front-End dispone di un Ccd Controller e di un Preview Engine, oltre ad altri moduli specializzati. Il Ccd controller consente di interfacciarsi ai video decoder, ai sensori Cmos, e ai dispositivi Ccd. Il Previewer è un engine di di elaborazione real-time delle immagini che prende immagini grezze da un sensore Cmos o Ccd e le converte da Rgb Bayer Pattern a YUV4:2:2. I moduli Histogram e H3A forniscono le informazioni statistiche su dati grezzi a colori da utilizzare internamente al DM6446. Il Video/Imaging Co-processor è un'altra inportante componente del DM6446 inteso ad alleggerire il Dsp del carico di elaborazione video e imaging.
Media processor per applicazioni multimediali
Il passaggio dall'analogico al digitale, in particolare nel mondo della comunicazione e dell'intrattenimento, ha imposto alle industrie elettroniche uno sforzo di transizione tecnologico drammatico. Il passaggio da standard video a bassa risoluzione a quelli ad alta definizione e a standard di codifica come H.264/VC-1, ha portato la complessità delle applicazioni video ad aumentare in maniera considerevole.
La soluzione del media processor è particolaarmente importante per affrontare la complessità delle applicazioni multimediali. Domino, il multi-core media processor di Lsi Logic, ha le caratteristiche di flessibilità e di scalabilità necessarie per affrontare soluzioni applicative video che implicano l'implementazione di codec e di altri componenti funzionali complessi. Il decoding e transcoding degli stream video digitali è una capacità che un media processor come Domino rende fattibile per consentire la visione su un'ampia gamma di dispositivi, dal dispositivo mobile alla Hdtv. L'architettura di computing di Domino è stata pensata per elaborare stream video digitali multipli. Queste particolari prestazioni del Media Processor Domino derivano da soluzioni di architettura di computing come:
• approccio ibrido hardware/software;
• codifica, decodifica e transcodifica di standard video e i relativi standard audio;
• interoperabilità e compatibilità verso applicazioni precedenti;
• sicurezza per garantire il diritto dei contenuti;
• tecnologie brevettate per le applicazioni video ad alta qualità.
Domino di Lsi Logic integra un doppio core Risc da 150 Mips, un audio Dsp, un motion estimation processor, un Dram controller, una memoria cache e scratch pad, oltre a un Ieee1394 link, un transport-stream de-multiplexers, I/O video e audio, un flexible system bus e vari tipi di interfacce digitali, tutto in un'architettura System-on-Chip. Il processore supporta il sistema operativo real time VxWorks di Windriver, il C-ware per la programmazione di specifici servizi basati sul signal processing e varie application programming interfaces per lo sviluppo delle applicazioni. Il bus è un sistema molto flessibile configurabile sia come 32 bit, 66 MHz Pci 2.2 compliant bus, oppure 16 o 32-bit generic host bus. È in grado di operare sia in modalità slave, sia in modalità master limitata quando utilizza il doppio core on-chip come host. In tal modo è idoneo sia per applicazioni di natura Pc-based, sia di natura embedded.
Sensore video intelligente
Terrazon Semiconductor ha sviluppato in tecnologia 130 nm un interessante sensore video intelligente 3D frutto della ricerca congiunta tra la Johns Hopkins University e la Universidad Nacional del Sur. Il chip di 2 x 2,5 mm cattura immagini e le processa con un framing rate di 30000 fps. Il chip contiene due strati di silicio. Quello superiore è un array di 48x32 fotodiodi retro illuminati. Ogni fotodiodo dispone di un convertitore A/D e della circuiteria necessaria per eseguire l'elaborazione digitale localmente. L'informazione viene condivisa con le altre celle adiacenti. In tal modo l'elaborazione viene eseguita al massimo livello di parallelismo pixel per pixel. L'immagine viene quindi assemblata e passata allo strato inferiore che integra blocchi logici e un processore 8051. Quest'ultimo è finalizzato a controllare la sequenza dei task di elaborazione video programmata in linguaggio ad alto livello.
I blocchi ausiliari di elaborazione eseguono operazioni di natura aritmetica e di riconoscimento di pattern. La funzionalità è quindi consentita grazie alla disponibilità di una memoria on chip per la programmazione. In particolare il processore è in grado di eseguire un insieme di task di elaborazione e di concatenare le varie operazioni fino ad ottenere sequenze di filtraggio molto complesse. L'intelligenza on-chip consente di ottenere elaborazioni molto sofisticate come per esempio la determinazione del numero di oggetti contenuti nell'immagine. L'architettura 3D del chip conferisce a questo un'elevata velocità operativa e la capacità di operare a basso consumo di potenza, quindi particolarmente interessante per le applicazioni embedded in campi come il medical imaging, il controllo di qualità industriale, il riconoscimento facciale e l'identificazione di oggetti che si muovono ad elevata velocità.
Video processing per automotive
ON Semiconductor ha realizzato due nuovi image signal processing IC che soddisfano in particolare le esigenze applicative video in campo automotive (vehicle reversing camera, in-vehicle navigation system) e in campo consumer (video monitoring security systems basati su piccoli display Lcd). Il dispositivo, LC749000PT per l'automotive e il Lcd749000AT per le applicazioni consumer supportano le modalità di risparmio energetico e utilizzano una tecnologia avanzata di signal processing per migliorare la qualità delle immagini compresse. Entrambi i dispositivi supportano risoluzioni di display fino al Wide Video Graphics Array e integrano un analog-to-digital converter collegabile direttamente all'uscita analogica di una videocamera. La circuiteria interna ai dispositivi consente di gestire i due formati Ntsc e Pal. La dimensione dell'immagine decodificata viene adattata alla risoluzione del tipo di Lcd connesso attraverso un de-interlacer/scaler allo scopo di esaltare la qualità dell'immagine. L'uscita a 24 o 18 bit Rgb con applicato il dithering viene diretta verso il pannello Lcd attraverso un controller di timing programmabile.
Una delle peculiarità di questo image signal processing IC è quella di ottimizzare l'immagine visualizzata utilizzando uno scaler che agisce sull'uscita video per visualizzare alla corretta risoluzione in maniera automatica e una funzione di calibrazione che esegue lo smooth dell'immagine. Inoltre una funzionalità di controllo dinamico della gamma consente di migliorare la visibilità in condizioni di luce bassa e variabile. Un'altra peculiarità è il controllo on screen display per la sovrascritture di testo sulle immagini, commutabile su una funzionalità avanzata di sovrapposizione grafica e basata un ulteriore IC di controllo grafico. Il Pwm integrato consente di implementare il backlight Led adattivo, ottenendo in tal modo un risparmio energetico fino al 35%. Entrambi i processori sono controllati esternamente tramite interfaccia seriale o I2C, consentendo in tal modo di ottenere il controllo dell'elaborazione hardware delle immagini tramite semplici microcontrollori. Questi si limitano a dare comandi mentre il processore video esegue tutte le elaborazioni in hardware. Il boot da Eeprom veloce esterna consente avere il pannello Lcd subito operativo, condizione essenziale per applicazioni come il rear back-up camera nelle applicazioni automotive, ma anche in molte altre applicazioni non automotive.
Il riconoscimento delle immagini
Il riconoscimento delle immagini sta diventando una delle funzionalità dei sistemi embedded più rilevante e ricorrente, soprattutto in campi applicativi come l'automotive. In questo contesto in particolare le prestazioni real-time sono importanti se si considerano i tempi di risposta dell'anello di controllo di cui l'uomo è un elemento. Toshiba ha sviluppato la famiglia Visconti per le applicazioni di image recognition da integrare nei sistemi di visione basati su telecamera. Tali dispositivi sono in grado di relevare e riconoscere oggetti come il corpo delle persone, la faccia, le mani, gli autoveicoli e il contesto in cui tali oggetti si presentano (movimento e azione). Tali informazioni vengono estratte dalle immagini che arrivano direttamente da una videocamera frame-by-frame (considerando anche frame precedenti a quello appena acquisito). Il dispositivo fornisce quindi tali informazioni in uscita perchè possano essere evidenziate sull'immagine visualizzata, utilizzate per ulteriori elaborazioni. Il sispositivo segnala in vario modo (per esempio con messaggio vocale, beep o testo) il risultato del riconoscimento. I processori Visconti dispongono di un multicore image recognition processor capace di esegure più applicazioni in parallelo, rendendo il livello di applicabilità del processore particolarmente interessante soprattutto in ambito automotive, ove la molteplicità degli eventi da riconoscere in tempo reale è tale che non è ammissibile la sequenzializzazione dei processi. Una delle applicazioni più importanti sono nel campo automotive, nei sistemi di assistema alla guida per il riconoscimento dei cartelli stradali, di pedoni e di veicoli, ma anche in altri campi applicativi come quello dell'automazione domestica dove importanti informazioni sono quelle legate al movimento delle persone e all'interpretazione dei gesti.