Acceleration of Optical Flow Computations on Tightly-Coupled Processor Arrays

Optical flow is widely used in many applications of portable mobile devices and automotive embedded systems for the determination of motion of objects in a visual scene. Also in robotics, it is used for motion detection, object segmentation, time-to-contact information, focus of expansion calculations, robot navigation, and automatic parking for vehicles. Similar to many other image processing algorithms, optical flow processes pixel operations repeatedly over whole image frames. Thus, it provides a high degree of fine-grained parallelism which can be efficiently exploited on massively parallel processor arrays. In this context, we propose to accelerate the computation of complex motion estimation vectors on programmable tightly-coupled processor arrays, which offer a high flexibility enabled by coarse-grained reconfiguration capabilities. Novel is also that the degree of parallelism may be adapted to the number of processors that are available to the application. Finally, we present an implementation that is 18 times faster when compared to (a) an FPGA-based soft processor implementation, and (b) may be adapted regarding different QoS requirements, hence, being more flexible than a dedicated hardware implementation.

[1]  S. Mahlke,et al.  Multicore compilation strategies and challenges , 2009, IEEE Signal Processing Magazine.

[2]  Jürgen Becker,et al.  Multiprocessor System-on-Chip - Hardware Design and Tool Integration , 2011, Multiprocessor System-on-Chip.

[3]  Klaus Janschek,et al.  An Embedded Optical Flow Processor for Visual Navigation using Optical Correlator Technology , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[4]  Brent E. Nelson,et al.  Optical Flow on the Ambric Massively Parallel Processor Array (MPPA) , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[5]  Walter Stechele,et al.  High performance FPGA based optical flow calculation using the census transformation , 2009, 2009 IEEE Intelligent Vehicles Symposium.

[6]  Sanjay J. Patel,et al.  Tradeoffs in designing accelerator architectures for visual computing , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[7]  Ho Gi Jung,et al.  Free Parking Space Detection Using Optical Flow-based Euclidean 3D Reconstruction , 2007, MVA.

[8]  Jürgen Teich,et al.  Invasive Computing: An Overview , 2011, Multiprocessor System-on-Chip.

[9]  Jürgen Teich,et al.  Hierarchical power management for adaptive tightly-coupled processor arrays , 2013, TODE.

[10]  Saurabh Dighe,et al.  The 48-core SCC Processor: the Programmer's View , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[11]  Berthold K. P. Horn,et al.  Determining Optical Flow , 1981, Other Conferences.

[12]  Jürgen Teich,et al.  Efficient event-driven simulation of parallel processor architectures , 2007, SCOPES '07.

[13]  R.P. Kleihorst,et al.  Xetal-II: A 107 GOPS, 600 mW Massively Parallel Processor for Video Scene Analysis , 2008, IEEE Journal of Solid-State Circuits.

[14]  Shau-Yin Tseng,et al.  Parallelization of Motion JPEG Decoder on TILE64 Many-Core Platform , 2010, MTPP.

[15]  Jürgen Teich,et al.  Power-Efficient Reconfiguration Control in Coarse-Grained Dynamically Reconfigurable Architectures , 2008, PATMOS.

[16]  Jürgen Teich,et al.  Scalable Many-Domain Power Gating in Coarse-Grained Reconfigurable Processor Arrays , 2011, IEEE Embedded Systems Letters.

[17]  Jürgen Teich,et al.  System Integration of Tightly-Coupled Reconfigurable Processor Arrays and Evaluation of Buffer Size Effects on Their Performance , 2009, 2009 International Conference on Parallel Processing Workshops.

[18]  Henry Hoffmann,et al.  On-Chip Interconnection Architecture of the Tile Processor , 2007, IEEE Micro.

[19]  Brent E. Nelson,et al.  Comparing fine-grained performance on the Ambric MPPA against an FPGA , 2009, 2009 International Conference on Field Programmable Logic and Applications.