|Introduction |Background |Research and Development |Milestones |Sponsorship |Contact Us|

Research and Development


(I) Technologies to be developed

    The technologies we are going to developed are a framework and a toolset for video decoding and post-processing.

    The framework is meant to offer a guideline for codec vendors to develop decoder according to an architecture that eases subsequent code porting to the GPGPU. One of the obstacles nowadays is that the code structure of a decoding/post-processing tasks are optimized for serial execution environment, and to port these code onto GPGPU need a substantial revision in the codec architecture. With a proper framework, codec and post-processing algorithm developers can start off their work with a correct architecture, saving further development effort in code restructuring on GPGPU.

    The toolset developed in this project will provide a GPGPU software library that includes the most common type of processing tasks involved in video decoding and video postprocessing, such as filtering, deblocking, motion estimation, motion compensation, DCT, quantization, etc. This toolset, together with the framework, can help to expedite the development of GPGPU-assisted video processing algorithms.

(II) Innovation use of existing technologies

    We will focus our attention on H.264 codec because H.264 codec is the state-of-the-art and the mostly wanted video standard in the industry. Besides, from technical perspective H.264 codec is the most difficult codec that can be parallelized on a stream processor as it has large data dependency (both intra-frame and inter-frame) in each decoding stage, and so if we can successfully port H.264 decoding subtasks onto GPU, similar parallelization methodology can be easily adopted in different video standard as well.

    Besides, we will employ nVidia’s Compute Unified Device Architecture (CUDA) as our tool for GPU code porting. CUDA is a popular tool for GPGPU related research [1], and it is also a mature technology for use by industry as well. By using CUDA in this research, it not only enables us to publish research works that has a common reference, but also allows us to come up with end results that are in the most ready form for productization.