A soft coprocessor approach to the development of image and video processing applications on FPGAs

  • Tiantai Deng

Student thesis: Doctoral ThesisDoctor of Philosophy


Developing FPGA-based applications is typically a slow and multi-skilled task. Tools to support application development have gradually become more high level. This thesis describes an approach which aims to raise further the level at which an application developer works while developing FPGA-based implementations of image and video processing applications.

The starting concept is that of a soft coprocessor (SCP). A set of fundamental soft coprocessors is presented, aimed at implementing some of the key abstractions of Image Algebra. Each soft coprocessor processes an image or video stream, and can be parameterised by its specific functionality. To support interactive experimentation, the developer can edit the functionality and parameters without requiring re-synthesis in most cases.

Our soft coprocessors are designed to enable easy chaining of SCPs, as defined by a Dataflow Graph (DFG). This reduces considerably the amount of data transfer between SCPs and the host processor.

Although hardware optimisation is not a primary concern of this thesis, further contributions facilitate the development of more efficient and more specific versions of the more generic soft coprocessors, based on the concept of reusable coprocessor skeletons.

To facilitate the creation of more algorithm-specific coprocessors which cannot be accommodated within the skeleton framework, a layered library of macros is developed, which enables a developer to create new coprocessors without requiring extensive hardware design knowledge.

The thesis illustrates these novel concepts by presenting soft coprocessors for a range of common image processing algorithms, including a novel fast implementation of K-means Clustering for grey level images, GLCM feature extraction, and Histogram of oriented Gradients (HoG).

Finally, a prototype implementation of an integrated development environment, called SCoPeS, is presented. This enables a user to express an application as a text-based DFG of soft coprocessors, and automatically obtain and run an FPGA implementation. The ability to modify an application, even during execution, without requiring re-synthesis, is an important benefit given the experimental nature of image and video processing application development.
Date of AwardJul 2020
Original languageEnglish
Awarding Institution
  • Queen's University Belfast
SponsorsChinese Scholarship Council (CSC) & Queen's University Belfast
SupervisorJohn McAllister (Supervisor) & Roger Woods (Supervisor)


  • FPGA
  • image processing
  • High-level programming environment

Cite this