Υλοποίηση αλγόριθμου ανίχνευσης ακμών σε εικόνα (Sobel):
Creators: name: Γέντσος, Χρίστος Δημητρίου
Publisher: name: Aristotle University of Thessaloniki
Year: 2010
Subjects: ανίχνευση ακμών
edge detection
sobel
FPGA

description: Σχεδιάσαμε ένα IP core το οποίο εφαρμόζει τον τελεστή Sobel 3x3 [MSN02] στα στοιχεία μιας εικόνας, κάτι που αποτελεί το βασικό στάδιο ενός συστήματος ανίχνευση ακμών. Το IP core σχεδιάστηκε για χρήση με το λογισμικό EDK της Xilinx. Έτσι μπορεί να ενσωματωθεί σε ένα embedded σύστημα FPGA μέσω του γραφικού περιβάλλοντος που προσφέρει το λογισμικό αυτό. Το IP core συνδέεται σαν περιφερειακό με τον επεξεργαστή (Microblaze της Xilinx) και με τη μνήμη του συστήματος ώστε αφού πάρει την αρχική εντολή από τον επεξεργαστή λειτουργεί αυτόνομα, έχοντας το δικό του δίαυλο επικοινωνίας με τη μνήμη. Η επικοινωνία αυτή γίνεται μέσω του VFBC, το οποίο είναι ένα interface επικοινωνίας με εξωτερική μνήμη DDR εξειδικευμένο για εφαρμογές εικόνας / video. Η επεξεργασία των δεδομένων γίνεται σε ομάδες των 4 pixels των 8 bit ανά κύκλο λειτουργίας, κάνοντας χρήση των δυνατοτήτων παραλληλίας των FPGA και βελτιώνοντας το throughput. Επίσης γίνεται χρήση της γρήγορης τοπικής μνήμης του FPGA ως cache για βέλτιστη αξιοποίηση του bandwidth με τη μνήμη. Κάθε κύκλος λειτουργίας διαρκεί 2 clocks και η διαδικασία του synthesis έδειξε συχνότητες χρονισμού στα 225MHz σε FPGA της σειράς Virtex5 (LX110T), άρα οι επιδόσεις του κυμαίνονται στα 450MPixels/sec. Επίσης το σχέδιο είναι αρκετά μικρό ώστε να χωράει μέχρι και σε μεσαίο FPGA της γενιάς Spartan 3E, όπου οι επιδόσεις του κυμαίνονται στα 100MHz - 200MPixels/sec. Η σωστή λειτουργία του κυκλώματος επιβεβαιώθηκε σε αναπτυξιακό της Xilinx (VUPV5-LX110T) το οποίο χρησιμοποιεί FPGA της σειράς Virtex5. Τέλος για την επιβεβαίωση της λειτουργίας αναπτύξαμε μικρό πρόγραμμα για την επικοινωνία του PC με το αναπτυξιακό και την επισκόπηση των αποτελεσμάτων της επεξεργασίας.
description: The purpose of this thesis is to design an IP core which will apply the 3x3 Sobel operator [MSN02] at the elements of an image. This is the key process of an edge detection system. The IP core was designed for use within the Xilinx EDK software. Thus it can be used in a FPGA embedded system via the graphic environment this software provides. The IP core is connected as a peripheral to the system main processor (Microblaze from Xilinx) and is connected to the system memory using a dedicated bus. That way the processor issues the processing command and is then free to do other processing. The communication with the memory makes use of the VFBC port, which is an interface to the DDR memory specifically designed for use in image / video processing applications. The data processing occurs in 4 pixel groups per processing cycle, taking advantage of FPGA parallelism and improving throughput. We also use the FPGA's fast local memory to cache data, thus relaxing memory bandwidth requirements. Each processing cycle lasts 2 system clocks and synthesis indicated maximum operating frequencies of 225MHz on a Virtex5 FPGA (LX110T). Our maximum processing rate is thus estimated to be 450MPixels/sec. The design is compact enough to fit in smaller devices, like the medium-range Spartan3E economical devices. On those it achieves operating frequencies of 100MHz and processing rates of 200MPixels/sec. The core's operation was verified on a Xilinx development board (XUPV5-LX110T) which utilises a Virtex5 series FPGA. Finally we developed a simple application to allow PC - board communication and verify the results of the processing.