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

Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Embed Size (px)

Citation preview

Page 1: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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

Page 2: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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.

Page 3: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 3

MotivazioniMotivazioni

Page 4: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 4

Immagini RGBImmagini RGB

Page 5: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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(α )

⎧ ⎨ ⎩

Page 6: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 6

Rotazione di immaginiRotazione di immagini

x

y

Page 7: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 7

RidimensionamentoRidimensionamento

Pixel

x1: largh1 = x2 : largh2

x2 = x1⋅largh2

largh1

Page 8: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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

Page 9: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 9

Architettura Diopsis 740Architettura Diopsis 740

Page 10: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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(α )

⎧ ⎨ ⎩

Page 11: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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

Page 12: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 12

Gestione parallelismo Gestione parallelismo

CODICE ARM

CODICE MAGIC

Page 13: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 13

Verifiche e prestazioniVerifiche e prestazioni

Tempi ComplessiviARM o mAgic ?Ciclo mAgic

Page 14: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

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

Page 15: Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS

Nicolas Tagliani, Stefano Viazzi 15

Fine PresentazioneFine Presentazione

Fine PresentazioneFine Presentazione