various approaches for motion search refinement in a processing element are discussed . a k / 2 + l + k / 2 register stores an expanded row of an l × l macro block . a k - tap filter horizontally interpolates over the expanded row generating horizontal interpolation results . a transpose storage unit stores the interpolated results generated by the k - tap filter for k / 2 + l + k / 2 entries , wherein rows or columns of data may be read out of the transpose storage unit in pipelined register stages . a k - tap filter vertically interpolates over the pipelined register stages generating vertical interpolation results .