Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: “Rotazione e Ridimensionamento di immagini” Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Nicolas Tagliani Stefano Viazzi A.A. 2004/2005 Sommario • Obbiettivi: • Mostrare le migliorie del Diopsis 740 rispetto alla soluzione su singolo processore; • Introduzione: • Immagini RGB; • Rotazione di un pixel; • Ridimensionamento di un’ immagine. • Architettura: • Arm e mAgic • Implementazione: • Partizionamento tra i due processori; • Verifiche e risultati • Conclusioni. Nicolas Tagliani, Stefano Viazzi 2 Motivazioni Nicolas Tagliani, Stefano Viazzi 3 Immagini RGB Nicolas Tagliani, Stefano Viazzi 4 Rotazione in 2D Y xQ x P cos( ) y P sen( ) yQ x P sen( ) y P cos( ) Q y’ y α P Ф y’ y X Nicolas Tagliani, Stefano Viazzi 5 Rotazione di immagini x y Nicolas Tagliani, Stefano Viazzi 6 Ridimensionamento Pixel x1: l arg h1 x2 : l arg h2 l arg h2 x2 x1 l arg h1 Nicolas Tagliani, Stefano Viazzi 7 Funzionamento USAR T 0 CONN JP8 RST IRQ BUTTONBUTTON LED BUFF POWON M-ICE JTAG RST FLASH ARM PRG 1Mx16 SSRAM MAGIC DATA L 128Kx36 XMD[55:40] XMD[31:16] PLL SSRAM MAGIC Diopsis 740 CLKs ICE ARMC ARMA ADDA TP6 ADDA BUFF CODEC AUDIO OUT CONN XMA XMD[15:0] CNTRLs DATA H XMD[71:56] TP8128Kx36 XMD[39:32] TP7 SPIs XMD[79:72] AUDIO IN CONN SSRAM MAGIC DATA E 128Kx36 SPI-1 CONN RESISTOR NETWORK SPI-0 CONN CODEC JP3 JP11 CODEC AUDIO IN CONN PIO USARTs RST CODEC EXTCL K SRAM CONN JP10 JP2 CL ARM DATA K H DIV 128Kx8 CL K 6 MHz DIV USB USB CNT LED RL CON N VREG 5-1.8 ARMD JP1 JP7 TP5 25 MHz OSC JP6 US B VREG 5-3.3 TP9 TP3 TP2 TP1 SRAM ARM DATA L 128Kx8 TP1 0 GND AUDIO OUT CONN RST BUFF CONN TP4 JP4 JP5 DIP SWITCH USAR T 1 CONN JP9 RS 232 BUF F RS 232 BUF F PIO CONN 3.3V GND LED TP1 1 AUDIO OUT CONN RESISTOR NETWORK 7-SEG DISPLAY D-9 RS232 CONN EXT PSU CONN D-9 RS232 CONN RESISTOR NETWORK RESISTOR NETWORK RESISTOR NETWORK RESISTOR NETWORK RESISTOR NETWORK AUDIO IN CONN Nicolas Tagliani, Stefano Viazzi AUDIO OUT CONN AUDIO IN CONN 8 Architettura Diopsis 740 Nicolas Tagliani, Stefano Viazzi 9 Architettura mAgic L Memory 4 5 6 7 0 1 2 3 R Memory 4 5 6 0 1 2 LEFT xQ x P cos( ) y P sen( ) yQ x P sen( ) y P cos( ) RIGHT FP/I Mul 1 * * Mul 2 FP/I * FP/I Cadd1 FP/I Mul 3 FP/I - 3 * Mul 4 Conv2 Div2 Sh/Log2 R Memory L Memory Conv1 FP/I Div1 Sh/Log1 7 Cadd2 + Min FP/I Max1 - + Add 1 Nicolas Tagliani, Stefano Viazzi FP/I + Add 2 - Min Max2 10 Diagamma di flusso ARM PARTE Carica RGB Inizializza MAGIC INIZIA Lancia mAgic Calcola le posizioni dei pixel ruotati Aspetta mAgic Inserisce i pixel nella memoria Aspetta ARM mAgic ha n calcolato tutte le y coordinate? tutte le coordinate sono state processate? n mAgic ha finito y ARM ha finito Salva RGB Nicolas Tagliani, Stefano Viazzi Ridimensiona l’immagine 11 Gestione parallelismo CODICE ARM CODICE MAGIC Nicolas Tagliani, Stefano Viazzi 12 Verifiche e prestazioni ARM o mAgic ? Tempi CicloComplessivi mAgic Nicolas Tagliani, Stefano Viazzi 13 Conclusione e sviluppi futuri • Conclusioni: • Corretto funzionamento applicazione • Impossibilità delle rotazioni video in tempo reale • Sviluppi futuri: • Ottimizzazione codice • Trasferimento dati migliorato • Rotazione video Nicolas Tagliani, Stefano Viazzi 14 Fine Presentazione Fine Presentazione Nicolas Tagliani, Stefano Viazzi 15