Multiprocessor Architecture for Image processing Under the guidance of Dr.Anshul Kumar Mayank Kumar – 2006EE10331 Pushpendre Rastogi – 2006EE50412 Objectives To learn to work on FPGA platform. Learning the design philosophy of a soft core multiprocessor architecture. Using multiprocessor architecture to implement adaptive background mixture model for motion segmentation. i.e Background modeling and change detection algorithm. (Cris stauffer) Motivation Signal processing, especially Image processing involves repetitive computation which can easily be divided into parallel computations There are many algorithm that follows “locally sequential globally parallel” computation. Surveillance camera related processing need economic real time solutions. FPGA provides an easy way to alter design depending on algorithm requirements – making soft multicore processing feasible. Architecture of the Processing Elements (PE) could be optimized for image processing. Adaptive background mixture model The algorithm helps to generate an adaptive model for the background and helps in motion detection. This can be applied for surveillance. The algorithm is spatially parallel, thus computations for different part of the image can be done simultaneously. This will help in real time operation of this algorithm on embedded platform. Nature of parallelism Data Partitioning: The task is partitioned so that each processor performs exactly the same function, but on different sub-blocks of data. For different image regions, our chosen algorithm is sequential in nature, which can be efficiently implemented through a processor. Basic Idea RGB Conversion Power PC M1 M M1 M1 E Video ADC` M O MPMC M1 M1 M1 M1 M1 M1 Video DAC R Y Array Topology Camera Virtex II Pro Monitor Basic Idea RGB Conversion Power PC M1 M M1 M1 E Video ADC` M O MPMC M1 M1 M1 M1 M1 M1 Video DAC R Y Array Topology Monitor Camera Virtex II Pro Inter-processor Communication [12] For transferring large chunks of image data, we will be using shared external DDR Ram as It provides large memory space for storing multiple frames. Multiple processors can access the RAM simultaneously using MPMC. For sharing intermediate computation results we will use FSL Links between neighboring processors. Unidirectional point-to-point communication. Unshared non-arbitrated communication mechanism. FIFO based communication. Network Topology [1] Completely meshed: Each node is connected to all other nodes. Adv: Reduce inter processor communication time. Disadvantage: Max 9 processors possible. Ring Network: Star Network Array Network: (our choice) Overall Plan Analysis of the algorithm. Configuring Video input and output for XUPV2P FPGA kit. Finalizing the architecture For one processor For two processors For multiprocessors Implementing Basic Test algorithm The algorithm Work Done Studied Background mixture Model for foreground subtraction algorithm [2], [3], as a case study. Analysis of the algorithm for: Parallelism exploitation Length of code for implementation Memory requirements to store data. Feasibility Work Done RGB Conversion Power PC Virtex II Pro Video ADC` Camera Top Down Approach Video DAC Monitor Work Done Studied Microblaze architecture. [4] Studied FSL Link [5] PLB, LMB, OPB Buses [6] XPS Design Flow [7] Literary survey on related works [8],[9], [10], [11] Configuration Video input and output for XUPV2P FPGA kit. Bottom Up Approach Work Ahead – Step 1 RGB Conversion Power PC M Video ADC` Memory Read And Write Video DAC E M O MPMC R Y Camera Virtex II Pro 23rd Feb – 7th March Monitor Work Ahead – Step 2 RGB Conversion Power PC M Video ADC` Some Simple Processing E M MPMC M1 O Video DAC R Y Camera Virtex II Pro 8th March – 15th March Monitor Work Ahead – Step 3 RGB Conversion Power PC M1 M M1 M1 E Video ADC` M O MPMC M1 M1 M1 M1 M1 M1 Video DAC R Y Simple processing Camera Virtex II Pro 24th March – 5th April Monitor Work Ahead – Step 4 RGB Conversion Power PC M1 M M1 M1 E Video ADC` M O MPMC M1 M1 M1 M1 M1 M1 Video DAC R Y Complex Processing Camera Virtex II Pro 6th April – 19th April Monitor Time Line Step 1 – 23rd Feb – 7th March Step 2 – 8th March – 15th March Step 3 – 24th March – 5th April Step 4 – 6th April – 19th April Related Works • • • • • Design Development and performance evaluation of multiprocessor system on FPGA. Somen Barma, CSE IITD. [8]. A Microblaze based Multiprocessor SoC[1] An FPGA based soft multiprocessor system for IPv4 packet forwarding. [9] An automated framework for FPGA based soft Multiprocessor System. [10] Multiprocessor interconnection based on DMA for FPGA.[11] REFERENCES [1] A Microblaze based Multiprocessor SOC – 2003 [2] Adaptive background mixture model for real-time tracking – 1999 [3] Understanding background mixture model for foreground segmentation – 2002 [4] Microblaze processor reference guide [5] Xilinx FSL datasheet [6] Xilinx Microblaze bus interface (ppt) [7] Virtex II Pro design flow – getting started [8] Design Development and performance evaluation of multiprocessor system on FPGA. Somen Barma, CSE IITD. Under Prof Kolin Paul [9] An FPGA based soft multiprocessor system for IPv4 packet forwarding. [10] An automated framework for FPGA based soft Multiprocessor System. [11] Multiprocessor interconnection based on DMA for FPGA. [12] XPS White paper – Designing multiprocessor System on Platform Stdio. Visit www.cse.iiitd.ernet.in/~ee5060412