Fast GPU-based image warping and inpainting for frame interpolation
Publication from Digital
Plzen, CZ Proceedings of Computer Graphics, Computer Vision and Mathematics (GraVisMa) Workshop, 9/2010
Frame interpolation (the insertion of artificially generated images in a film sequence) is often used in post production to change the temporal duration of a sequence, e.g. to achieve a slow-motion effect. Most frame interpolation algorithms first calculate the motion field between two neighboring images and scale it appropriately. Afterwards, the images are warped (mapped) with the scaled motion field, and regions to which no source pixel was mapped are filled up (image inpainting). In this paper, we will focus on the latter two steps, the warping of the images and the image inpainting. We present simple and fast algorithms for image warping and inpainting, and discuss their efficient implementation to GPUs, using the NVIDIA CUDA technology. We compare the CPU and corresponding GPU routines and notice a speedup of approximately 6 - 10 for image warping and image inpainting. Significantly higher speedups can be expected for the latest NVIDIA GPU generation codenamed Fermi due to several achitectonical improvements (faster atomic operations, L1/L2 cache). When comparing the result images of the CPU and GPU routine visually, practically no difference can be seen.