|
|
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.
|
|
|
|
|