Skip to Main Content
Real-time image/video processing applications are now in demand with the advance of general purpose computers and mobile devices. However, programmers have to handle the digital images, and be aware of the resolutions and pixels. This makes image processing programming unintuitive. On the other hand, image/video processing typically has data parallelisms, and the performance gains are expected on GPUs. CUDA is developed for GPUs but writing the image/video processing programs efficiently with CUDA needs many CUDA-specific operations. They are not the essence of image/video processing and bother programmers. We have proposed a high-level video processing library RaVioli for solving this problem. RaVioli allows programmers to be unaware of resolutions, but there are some restrictions for the programming. Hence, this paper proposes a more intuitive programming language for image/video processing and a translator for the language. By using the translator, programmers can benefit from GPUs without the knowledge about both the GPU architecture and the CUDA APIs, and achieve performance gains.