“Use of CUDA streams for block-based MPEG motion estimation on the GPU” by El-Shehaly, Gracanin and Elmongui
Conference:
Type(s):
Title:
- Use of CUDA streams for block-based MPEG motion estimation on the GPU
Presenter(s)/Author(s):
Abstract:
The H.264 standard of MPEG-4 includes motion estimation that takes about 91% of encoding time. Luckily, the problem of block-based motion estimation is highly parallel. Motion vectors are calculated by determining block displacement within an area, typically 32 x 32 pixels, in a known reference frame. We enhance the GPU-based Sum of Absolute Difference (SAD) calculations of motion estimation using CUDA streams to hide memory latency by means of different overlapping techniques. A novel implementation strategy is explored that takes advantage of the amount of shared memory available in GPU devices of compute capability 2.x.
References:
1. Chen, W., and Hang, H. 2008. H.264/AVC motion estimation implmentation on compute unified device architecture (CUDA). In Proceedings of the 2008 IEEE International Conference on Multimedia and Expo, IEEE, 697–700.
2. Harris, M. 2007. Optimizing parallel reduction in CUDA. CUDA SDK white paper, NVidia.
Additional Images:
![©Mai H. El-Shehaly, Denis Gracanin, and Hicham G. Elmongui](https://history.siggraph.org/wp-content/uploads/2024/01/2012-Posters-Shehaly_Use-of-CUDA-Streams-for-Block-Based-MPEG-Motion-Estimation-on-the-GPU-03.png)
![©Mai H. El-Shehaly, Denis Gracanin, and Hicham G. Elmongui](https://history.siggraph.org/wp-content/uploads/2024/01/2012-Posters-Shehaly_Use-of-CUDA-Streams-for-Block-Based-MPEG-Motion-Estimation-on-the-GPU-05.png)