Programming Models for Parallel Signal Processing

Efficiently programming parallel processor architectures is still an unresolved issue, which has been strongly addressed by industrial and research initiatives in the past. Runtime support libraries as OpenMP and MPI provide a way to use shared memory and message passing for parallel programming by using standard programming languages. Specialized languages such as OpenCL targeting heterogeneous GPU processor architectures, which are most often used in the context of graphic acceleration in desktop computers.

Since embedded systems are increasingly constructed on the basis of so called multi/many core processor architectures the before mentioned programming models become important as well in the embedded domain.

The execution of parallel programming models is often very demanding in terms of processing power and data transfers. In order to find an appropriate implementation it is very important to adapt the system to the programming model in order to find an efficient solution. Additionally the different alternatives need to be explored in their implementation efficiency on the various system setups. This exploration has to take place in an early design phase in order to keep the design space broad.

Our research aims at the usage, bottleneck analysis and extension of readily available programming models for embedded parallel architectures especially for multi media signal processing applications.

Selected Projects

  • 2Parma


  • Parallelized H.264/SVC Video Decoder using the MIND component based programming model


  • Parallelized H.264/SVC Video Decoder using the SoClib MutekH runtime environment


  • Parallelized H.264/SVC Video Encoder using OpenMP


  • Architectural Decomposition of video decoders using a specialized intermediate dataformat