Developing Tailored Video & Image Processing Designs with Cyclone V SoC

Altera’s VIP Suite is a collection of MegaCore functions that the user can use to facilitate the development of custom video and image processing designs. This article highlights few tasks accomplished for a project that involved usage of Altera’s Cyclone V SoC and the VIP suite. The following VIP megacore functions were used for the implementation of Video and Image processing application:

  • Frame Reader
  • Switch
  • Color Space Converter
  • Alpha Blending Mixer
  • Scaler II:Edge Adaptive
  • Deinterlacer II
  • Deinterlacer
  • Clipper
  • Interlacer
  • Test Pattern Generator
  • Avalon-ST Video Monitor
  • Trace System
  • Color Plane Sequencer
  • Frame Buffer
  • Clocked Video Input and Output

Details on the above VIP cores can be found in Altera VIP User Guide

The above application includes 1 VGA input, 2 composite inputs and 1 SDI (Serial Digital Interface for digital videos). Three outputs are provided, out of which any two are active at a time. Out of two active outputs, composite output is always active. User can switch between LCD output and VGA output.


  • The following are the main features of the Video overlay Functionality controlled by either Nios-II Soft processor or HPS.
  • NIOS II/HPS will be used to configure/control all the VIP cores for overlay functionality.
  • Video Inputs – Out of 4 video inputs any one input is used for video output
    • 2 CVBS Inputs
      • 8-bit , 4:2:2 , YCbCr Video Interface
      • PAL/NTSC- Video resolution can be PAL (720×576) or NTSC(720×486)
    • 1 VGA Input
      • 24-bit , 4:4:4 , RGB Video Interfacevideo-image-processing-application-cyclone-fpga
      • Video resolution can be VGA (640×480) or SVGA(800×600) or XGA(1024×768)
    • 1 SDI-SD/HD Input
      • 10-bit resolution, 4:2:2 YCbCr
      • 270Mbps/1.485Gbps bit rate
      • SMPTE–259M-C standard, 720×576/486 format for SD-SDI standard
      • SMPTE–292M standard, 1080i format for HD-SDI standard
      • PAL/NTSC – resolution can be PAL or NTSC
  • 3 Video outputs – VGA or LCD outputted @ VGA/SVGA/XGA resolution and same video data will be down scaled to PAL/NTSC and displayed on CVBS output 1 video input will be selected out of 4(CVBS1, CVBS2, SDI and VGA). The selected video is mixed with Text and graphics data (Overlaying layer) and displayed on the output.
    • 1 VGA Output
      • 24-bit , 4:4:4, RGB Video Interface
      • Video resolution can be VGA (640×480) or SVGA (800×600) or XGA (1024×768).
    • 1 LCD Output
      • 24-bit , 4:4:4 , RGB Video Interface
      • Video resolution can be VGA (640×480) or SVGA(800×600) or XGA(1024×768)
    • 1 CVBS Output
      • 8-bit resolution, 4:2:2 YCbCr
      • PAL/NTSC – resolution can be PAL or NTSC

The FPGA implements the overlay functionality either pixel by pixel or picture in picture overlay using above mentioned set of VIP mega-functions. The Video switch selects one video input out of four incoming video sources. The selected video input is scaled to output VGA resolution (VGA, SVGA or XGA) and stored in on-board DDR3 using Frame buffer mega-function. The alpha blending core takes 3 layers to generate overlaid video output; a test pattern generator, selected input video and the overlaying layer stored in on-board DDR3. In the output path, a colour plane sequencer duplicates the blender output. First output of the colour plane sequencer can be sent either to a VGA-monitor or LCD monitor as per switch selection. Second output of colour plane sequencer is sent over the Composite output path. Many VIP mega-core functions are placed between the input and the output for video processing from one format to another.

The overlaying layer can be updated in the DDR3 using NIOS-II processor or the HPS dual-core ARM cortex A9 processor embedded in Cyclone V SoC. iWave has implemented the QT application where the pixel by pixel overlay functionality has been proven. The Alpha-blender mixes the incoming video and the overlay layer according to the alpha values provided. At the output, the user will get the selected video overlaid with the QT layer.

The picture in picture overlay is also possible in a similar fashion where the multiple video layers will be mixed without considering the alpha values.

Click here to watch the Video.

For further information or enquiries please write to or contact our Regional Partners.

Copyright © 2022 iWave Systems Technologies Pvt. Ltd.