Motion analysis plays a key role in video coding (e.g., video telephone, MPEG, HDTV) and computer vision systems (e.g., image segmentation, structure from motion). Motion estimation methods can be classified into three groups - matching-based, gradient-based, and frequency-based methods. The block matching algorithm (BMA) has been widely used for region matching in image coding, for example in MPEG (Motion Picture Expert's Group). Optical flow computation based on the spatio-temporal constraint equation has been broadly used in image segmentation to compute each pixel's velocity on a moving object. For both of these tasks, dedicated ASIC systems have been developed and widely used. Unfortunately, such systems have the disadvantage of restricted adaptability. The Micro Grained Array Processor (MGAP), which is a fine-grained, mesh-connected, SIMD array processor being developed at Penn State University, can provide a more regular, flexible, and efficient approach for solving, in real time, these two important computations. In this paper, we propose a new data flow scheme for an efficient, systolic, full-search BMA on programmable array processors so that we can process as many adjacent template blocks as possible in unison in order to reduce the data memory accesses. In particular we present an efficient implementation of the BMA on the MGAP. As a result, the BMA for the MPEG SIF video format (352 × 240 pixels) with a block size of 16 × 16 pixels, a displacement range of 16 pixels, and frame rate of 30 frames/sec can be computed at real-time processing rates on the MGAP. We also show a real-time mapping to the MGAP of the optical flow computation for images of size 256 × 256 pixels.
All Science Journal Classification (ASJC) codes
- Signal Processing
- Computer Vision and Pattern Recognition
- Electrical and Electronic Engineering