Sviluppo di una applicazione per DIOPSIS 740: “ Rotazione e Ridimensionamento di immagini ”

15
Politecnico di Milano Politecnico di Milano Sviluppo di una Sviluppo di una applicazione per DIOPSIS applicazione per DIOPSIS 740: 740: Rotazione e Ridimensionamento di Rotazione e Ridimensionamento di immagini” immagini” Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Nicolas Tagliani Stefano Viazzi A.A. 2004/2005

description

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: - PowerPoint PPT Presentation

Transcript of Sviluppo di una applicazione per DIOPSIS 740: “ Rotazione e Ridimensionamento di immagini ”

Politecnico di MilanoPolitecnico di Milano

Sviluppo di una applicazione per Sviluppo di una applicazione per DIOPSIS 740:DIOPSIS 740:

““Rotazione e Ridimensionamento di immagini”Rotazione e Ridimensionamento di immagini”

Relatore: Prof. Fabrizio Ferrandi

Correlatore: Ing. Marco Domenico Santambrogio

Nicolas

Tagliani

Stefano Viazzi

A.A. 2004/2005

Nicolas Tagliani, Stefano Viazzi 2

SommarioSommario

• 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 3

MotivazioniMotivazioni

Nicolas Tagliani, Stefano Viazzi 4

Immagini RGBImmagini RGB

Nicolas Tagliani, Stefano Viazzi 5

Rotazione in 2DRotazione in 2D

P

Q

X

Y

Ф

α

y’

y

y’ y

xQ = xP ⋅cos(α ) − yP ⋅sen(α )

yQ = xP ⋅sen(α ) + yP ⋅cos(α )

⎧ ⎨ ⎩

Nicolas Tagliani, Stefano Viazzi 6

Rotazione di immaginiRotazione di immagini

x

y

Nicolas Tagliani, Stefano Viazzi 7

RidimensionamentoRidimensionamento

Pixel

x1: largh1 = x2 : largh2

x2 = x1⋅largh2

largh1

Nicolas Tagliani, Stefano Viazzi 8

FunzionamentoFunzionamento

CLK

DIV

3.3VLED

IRQBUTTON

PIO CONN

SRAM ARM DATA L

128Kx8

SRAM ARM DATA H

128Kx8

FLASHARM PRG

1Mx16SSRAMMAGICDATA L128Kx36

EXTCLK

CONN

DIP SWITCH

SPI-0 CONN

M-ICE JTAG CONN

Diopsis 740

PIO USARTsRST

XMAXMD[15:0]

CLKsCNTRLs

SPIsADDA

ARMD

PLL

ICEARMC

ARMA

XMD[55:40]

XMD[31:16]

XMD[71:56]XMD[39:32]

XMD[79:72]

SSRAMMAGICDATA H128Kx36

SSRAMMAGICDATA E128Kx36

USBCNTRL

US B

CO

NN

EX

T

PS

U

CO

NN

CO

DE

C

CO

DE

C

CO

DE

C

CO

DE

C

CLK

DIV

25 MHzOSC

RS

232

BU

FF RS

232

BU

FF

USART 0

CONN

USART 1

CONN

7-SEG DISPLAY

GND

GND

RESISTOR NETWORK

RESISTOR NETWORK

6 MHz

D-9 RS232CONN

D-9 RS232CONN

RSTBUTTON

VREG 5-1.8

SPI-1 CONN

VREG 5-3.3

USBLED

LEDBUFF

RSTBUFF

ADDABUFF

POW-ON RST

AUDIO OUT

CONN

AUDIOIN

CONN

AUDIO OUT

CONN

AUDIOIN

CONN

AUDIO OUT

CONN

AUDIOIN

CONN

AUDIO OUT

CONN

AUDIOIN

CONN

RE

SIS

TO

R

NE

TW

OR

K

RE

SIS

TO

R

NE

TW

OR

KR

ES

IST

OR

N

ET

WO

RK

RESISTOR NETWORKRESISTOR NETWORK

JP8 JP9

JP5

JP4

JP11

JP7

JP2

JP3

JP6

JP10

JP1

TP

5

TP2 TP1

TP

4

TP3

TP7TP8

TP6

TP9

TP10

TP11

Nicolas Tagliani, Stefano Viazzi 9

Architettura Diopsis 740Architettura Diopsis 740

Nicolas Tagliani, Stefano Viazzi 10

Architettura mAgicArchitettura mAgic

Conv2Div2

Sh/Log2

Conv1Div1Sh/Log1

LEFT0 1 2 3

4 5 6 7

FP/I

*FP/I

*

RIGHT0 1 2 3

4 5 6 7

FP/I

*FP/I

*

FP/I

-FP/I

+

FP/I

- +FP/I

+ -

L Memory R Memory

L M

emor

y

R M

emory

Mul1

Mul2

Mul4

Mul3

Cadd1 Cadd2

Add1

Add2

MinMax2

MinMax1

xQ = xP ⋅cos(α ) − yP ⋅sen(α )

yQ = xP ⋅sen(α ) + yP ⋅cos(α )

⎧ ⎨ ⎩

Nicolas Tagliani, Stefano Viazzi 11

Diagamma di flussoDiagamma di flusso

ARM PARTECarica RGB

Inizializza

mAgic ha calcolato tutte le

coordinate?

MAGIC INIZIALancia mAgic

Aspetta ARM

Calcola le posizionidei pixel ruotati

y

n

mAgic ha finito

Inserisce i pixel nellamemoria

Aspetta mAgic

n

y

tutte le coordinatesono state

processate?

ARM ha finito Ridimensiona l’immagineSalva RGB

Nicolas Tagliani, Stefano Viazzi 12

Gestione parallelismo Gestione parallelismo

CODICE ARM

CODICE MAGIC

Nicolas Tagliani, Stefano Viazzi 13

Verifiche e prestazioniVerifiche e prestazioni

Tempi ComplessiviARM o mAgic ?Ciclo mAgic

Nicolas Tagliani, Stefano Viazzi 14

Conclusione e sviluppi Conclusione e sviluppi futurifuturi

• Conclusioni:• Corretto funzionamento applicazione

• Impossibilità delle rotazioni video in tempo reale

• Sviluppi futuri:• Ottimizzazione codice

• Trasferimento dati migliorato

• Rotazione video

Nicolas Tagliani, Stefano Viazzi 15

Fine PresentazioneFine Presentazione

Fine PresentazioneFine Presentazione