of 22 /22
1 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz FPGA-Anwendung in der digitalen Bildverarbeitung Beitrag aus der HAW Hamburg. 20.03.2002 Im Hause R. Bosch Stuttgart Feuerbach. Abteilung VT-ATMO EKE21

Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

Embed Size (px)

Text of Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof....

Page 1: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

1

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

FPGA-Anwendung in der digitalen Bildverarbeitung

Beitrag aus der HAW Hamburg.

20.03.2002

Im Hause R. Bosch Stuttgart Feuerbach.

Abteilung VT-ATMO EKE21

Page 2: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

2

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Vorstellung

• 13 Fachbereiche der HAW Hamburg; gegr. 1970

• 14000 Studierenden in 27 Studiengängen

• 471 Professorinnen und Professoren

• Fachbereich Elektrotechnik und Informatik, Berliner Tor 3 1.940 Studierende 69 Professoren, 64 Mitarbeiter 5 Studiengänge: Informatik - Technische Informatik -

Automatisierungs-, Kommunikations- und

Informationstechnik - Information Engineering -

Europäischer Studiengang

Page 3: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

3

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Inhalt

• Schwerpunkte in der Digitaltechnik-Ausbildung

• Hardware-Plattformen

• Ziele der Hardware-Anwendungen

• Entwurfsbeispiele aus Projekten und Diplomarbeiten

• Implementierung einer Laplace-Filterung Nachbarschaftsoperationen - Pixeladressierung Datenpfad mit Pipelining Timing-Schema der Laplace-Pipeline Steuerautomat Implementierungskennwerte

Page 4: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

4

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Digitaltechnik Ausbildung

• Entwurf digitaler Funktionsblöcke als Prozessorelement Pipelining der Arithmetikstufen Resource Sharing mit Übertaktung

• Modellierung mit synthesefähigem VHDL-Code

• Implementierung mit Xilinx CPLDs und FPGAs

• Verifikation mit Backannotation-Simulation

• Messtechnische Analyse an den Hardware-Schnittstellen

• Ergebnisvergleich mit Matlab-Referenzen

Page 5: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

5

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Hardware-Plattformen

IPU 2MicroEnable

PCI

4044XLA

2 MBSRAM

CCD-Interface

DSPKatana

LPT/PCI

2 MBSRAM

Codec12 Bit

Virtex 300

XS95/XS40XST-1

LPT

µC8032

32 kB SRAM

95108/4010XL

Codec20 Bit

IPU 1

512 kBSRAM

PAL22V10

4013E

ISA

Page 6: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

6

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Ziele der Hardware-Anwendungen

• Ausbildungsstufen vom 2. Semester bis zum 2. Jahr der Masterkurse werden mit zunehmender Hardware-Komplexität unterstützt.

• Zu implementierende Funktionen basieren auf Inhalten von Lehrveranstaltungen: Nachrichtentechnik, Signalverarbeitung, Bildverarbeitung, Datenübertragung,

• Mathematisch basierte Themen werden in praxisnahen Anwendungen vertieft.

• Hardware-Bezug betont elektrotechnische Aspekte.• Messtechnik wird mit analytischer Vorhersage gekoppelt.

Page 7: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

7

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Entwurfsbeispiele

•  UART-Interface: CPLD µC8032 Terminal•  CISC- u. RISC-Prozessor-Modelle•  Bildverarbeitung: Kontrastverstärkung

Rauschunterdrückung - Kantenverstärkung

Segmentierung•  Signalverarbeitung:Audio-Codec-Interface

FIR-Filter Implementierungsvarianten• Quellen- und Kanalcodierung: Huffman-Decoder

Viterbi-Decoder mit Traceback

Page 8: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

8

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

FPGA-Prozessor

ALGORITHMUS:Nachbarschafts-operationen/Transformations- LUTs FSM-Controller RAMCOM: Multiplexer mit Tristate-Treibern

Page 9: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

9

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Grauwertäqualisation

Absolutes Histogramm

0

200

400

600

800

1000

1200

1400

1600

1800

2000

1 917 25 33 41 49 57 65 73 81 89 97

105

113

121

129

137

145

153

161

169

177

185

193

201

209

217

225

233

241

249

Grauwert

Häufigkeit

Reihe1

Histogramm des transformierten Bildes

0

200

400

600

800

1000

1200

1400

1600

1800

2000

1 9 17 25 33 41 49 57 65 73 81 89 97 105

113

121

129

137

145

153

161

169

177

185

193

201

209

217

225

233

241

249

Grauwert

Häufigkeit

Reihe1

Schwarz Grau WeißSchwarz Grau Weiß

Page 10: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

10

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Kontrastverstärkung

Page 11: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

11

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Transformationskennlinie ErgebnisKumulatives Histogramm

0

20000

40000

60000

80000

100000

120000

140000

Grauwert

Summierte Häufigkeit

Reihe1

Transformationskennlinie

0

50

100

150

200

250

300

x

y(x)

Reihe1

x

kB kH

Cxy

0

)(1

)(

Page 12: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

12

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Median-Filterung

Page 13: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

13

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Laplace-Filterung

Page 14: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

14

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Implementierung einer Laplace-Filterung

Lokale Nachbarschaftsoperationen Pixeladressierung Datenpfad mit PipeliningTiming-Schema der Laplace-PipelineSteuerautomat Implementierungskennwerte

Page 15: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

15

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Lokale Nachbarschaftsoperationen

Strukturierendes Element:

Laplace-Operator

0 1 2 3 4 5 6 70

12

34

56

7

0 1 2 3 4 5 6 70

12

34

56

7

Eingangsbild

Strukturelement

Ergebnisbild

M11 M12 M13

M21 M22 M23

M31 M32 M33

O m,n

I m,n

010

141

010

L1

Om,n = I m,n - I‘‘

m,n

m

m

n

n

Page 16: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

16

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Pixeladressierung in 4 SRAM-BlöckenGraustufenbild32 Pixel a 1Byte

24 25 26 27 28 29 30 31

16 17 18 19 20 21 22 23

8 9 10 11 12 13 14 15

0 1 2 3 4 5 6 7

SRAMRAM 21 Byte

RAM 11 Byte

RAM 01 Byte

3

7

11

15

19

23

27

31

2

6

10

14

18

22

26

30

1

5

9

13

17

21

25

29

0

4

8

12

16

20

24

28

Adresse 0

Adresse 1

Adresse 2

Adresse 3

Adresse 4

Adresse 5

Adresse 6

Adresse 7

RAM 31 Byte

Anwender_Entity

RAMCOM

BV-Algorithmus

Multiplexer

11

10

01

00

ADDRESS-COUNTER

CONTROL

8 B

it

CS(0)CS(1)CS(2)CS(3)

32 BitTransfer

SEL

c_address(1:0)

Page 17: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

17

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Laplace-Filter ohne Pipelining

P13 P12 P11 P23 P22 P21 P33 P32 P31

* * * * * * * * *

+ +

+

+

++

+

+

RESULT

Zeile 3Zeile 2Zeile 1

M13 M12 M11 M23 M22 M21 M33 M32 M31

P1 P2 P3Spalte n

Page 18: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

18

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Laplace-Filter mit Pipelining (1)

ADD2

ADD1

* * * * * * * * *

+ + +

++ +

P13 P23 P33

Spalte n+1

Spalte n+2

+

+

RESULT

Z1Z2

Z2bZ3b

Z3c

Z3

Spalte n

Stufe 3

Stufe 2

Stufe 1

M13 M23 M33 M12 M22 M32 M11 M21 M31

Page 19: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

19

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

8

-

8

8

"00""00"

Z2b

Z2

11

Z3b

Z13

8

8

Z3c

8

11

8

11 8

TEMP4

TEMP1

TEMP2

TEMP3

ADD1

Begrenzung

8

RESULT

Registerebene 1

11

+

-"000"

P13 P33 P23 Spalte n

DEMUX

8 D_IN

READ_DATA

SEL[1:0]

EN_REG

'0''0'

'0''0'

'0'

"00"

REG 1

9

REG 2

8

REG 4

REG6

REG 3

9

11 9

11

REG 7

11

8

9

REG 5

8

8

REG 8

11

REG 9

8

Registerebene 2

Registerebene 3

Registerebene 4

Registerebene 5

Registerebene 6

Registerebene 7

Registerebene 8

+

+

I = P2nI''

O = I - I''

M12 M32

M22

M21 M23

Mittlere Spalte

Mittlere Zeile

Laplace-Filter mit vollständigem Pipelining (2)

Page 20: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

20

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Timing-Schema der Laplace-Pipeline

column_counter

17

16

1521

1

1

1

1

1

3 4 5 6 7 8 9 10 11 12 13 14

15 17

17 18 28 29 30

xx

xx

xx

xx

xx

xx

32

32

32

xx25242322212019181716151413121110987654321

1

REGISTEREBENE

Anlaufverhalten derPipeline

Normalbetrieb LeerlaufenReihen-wechsel

Normalbetrieb

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

2

21

20

19

23

22

21

20

3

2

4

3

5

4

6

5

7

6

8

7 8

9 10

9

11

10

12

11

13

12

14

13

15

14

16

16

18

18

19

19

20

31

xx

xx

xx

xx

xx

30

29

31

30 31

1

2

3

4

5

6

7

8

5431 2 3 4 5 6 7 8 9 10 11 1312 14 15 16 1 2 3 4 5 6 7 8 9

count

count

16 PIXEL

Laplace-Matrix

6 P

IXE

L zu bearbeitendesBild

3220 21 2217 18 19 23 24 25 26 27 28 29 30 31

164 5 61 2 3 7 8 9 10 11 12 13 14 15

Page 21: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

21

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Zustandsdiagramm des SteuerautomatenPON

_____algo_start

_____fstep

fstep

ROW_BEGIN

READREGS

0 0 0 0 00 00 0 0 1 0 0

INCADR2

0 0 0 0 00 00 0 0 0 1 0

X

X

X

ALGO2_STOP

0 0 0 00 00 0 0 0 0 1

median_ready

__________median_ready

D0

0 0 0 0 00 00 1 0 0 0 0

PRD

0 0 0 0 00 00 1 0 0 0 0

X

RESET

1 0 0 0 00 00 0 0 0 0 0

algo_start

SLEEP

0 0 0 0 00 00 0 0 0 0 0

A0

0 0 0 0 00 00 0 0 0 0 0

X

X

X

X

A1

0 0 0 0 01 00 0 0 0 0 0

A2

0 0 0 0 10 00 0 0 0 0 0

W0

0 0 0 0 00 00 0 0 0 0 0

D1

0 0 0 0 00 01 1 0 0 0 0

D2

0 0 0 0 00 10 1 0 0 0 0

X

X

X

X

__________ROW_BEGIN

_____P_END

P_END

PRD_2

0 0 0 0 00 00 1 0 0 0 0

W0_2

0 0 0 0 00 00 0 0 0 0 0

A2_2

0 0 0 0 10 00 0 0 0 0 0

A1_2

0 0 0 0 01 00 0 0 0 0 0

A0_2

0 0 0 0 00 00 0 0 0 0 0

INCADR

0 0 0 0 00 00 0 0 0 1 0

X

X

X

X

X

X

PIXWRITE

0 0 0 0 11 00 0 0 0 0 0

READREG

0 0 0 0 00 00 0 0 1 0 0

D0_2

0 0 0 0 00 00 1 0 0 0 0

D1_2

0 0 0 0 00 01 1 0 0 0 0

X

X

D2_2

0 0 0 0 00 10 1 0 0 0 0

X

LAST_PIX

0 0 0 1 00 00 0 0 1 0 0

LAST_WRITE

0 0 0 0 11 00 0 0 0 0 0

ALGO2

0 1 1 0 00 00 0 1 0 0 0

WD

0 0 0 0 00 00 0 1 0 0 0

X

Zustand

RESET_ALL, reset_median_ac, reset_median_cc, set_median_ready, SEL, W_SEL, READ,WRITE, EN_REG, ADR_COL_COUNT, algo_ready

algo_start, ROW_BEGIN, P_END, fstep, median_ready

Page 22: Hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 1 FPGA-Anwendung in der digitalen Bildverarbeitung

22

hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik

Prof. Dr. B. Schwarz

Implementierungskennwerte

Gesamtsystem Verarbeitungs-takte pro Bild

maximale Betriebsfrequenz

maximale Datenpfadfreq.

(Median)

Verarbeitungszeit pro Bild

Median8 stufig

2 047 116 32 MHz 40,5 MHz 63,9 ms

Median/Laplace10/8 stufig

3 070 141 43,4 MHz 54.7 MHz 70.7 ms

Differenz relativ +49,97 % +35,41 % +35,06% +10,64%

Gesamtsystem Anzahl der Flip Flops

Anzahl der Gatter -

Äquivalente

Implementierungs-zeit mit F2.1i

Median8 stufig

354 6973 ca. 46 Min.

Median/Laplace10/8stufig

775 11007 ca. 12 Min.