Sign In
Forgot Password?
Sign In | | Create Account

PixelStreams

High performance hardware library for digital image and video processing

PixelStreams is a library of building blocks (called filters) that enable designers to quickly prototype their image and video processing algorithms on FPGAs. By building their algorithm from the pre-defined filters in PixelStreams, algorithm developers can produce efficient prototype implementations in just hours or days, not weeks or months. The short turnaround time of an FPGA prototype lets algorithm developers try many different algorithms quickly, resulting in shorter design cycles and more optimal solutions. Additionally, users can easily add to PixelStreams by creating new filters for use across their project or organization.

Extensive Video Manipulation Library

PixelStreams provides the user with a broad range of library functions to gather, manipulate and output streams of image pixel data.

PixelStreams Manipulation Library (click to view larger).

Code using these functions can either be written by the user or automatically created using the PixelStreams Graphical Stream Editor. In either case the DK Design Suite is used to synthesize the resulting code to optimized hardware.

The PixelStreams library has many common building blocks for image and video processing applications in pattern recognition, machine vision, sensor fusion:

  • framebuffers
  • color space conversion
  • coordinate transforms
  • sharpening
  • edge detection
  • non-linear filtering
  • blob analysis
  • image scaling
  • video generators and overlays
  • noise sources
  • morphological functions
  • region-of-interest clipping

Simple abstraction for video processing components

To build a video processing system, PixelStreams filters are connected by streams to build filter networks. Streams connect filters together allowing the pixel data or other data to flow between the filters.

Pixelstream

Graphical Stream Editor and C-based IDE (click to view larger).

All PixelStreams filters use a consistent interface, which makes creating networks easy. Simply link the output of one filter to the input of another and set the properties of the stream. Users can choose from the following stream properties:

  • pixel type: Binary, 8-bit monochrome, 16-bit monochrome, 24-bit, RBG, 24-bit YCbCr
  • coordinate types: synchronous or asynchronous
  • sync type: Interlaced (including TV compatible), Progressive (including VGA compatible)

Open and Extensible

Full source code and documentation is provided for the library functions, API and data structures enabling designers to develop new library functions and add them to the PixelStreams environment.

Parameterizable and Adaptable

Written in ANSI-C with Handel-C hardware constructs, the filters are highly parameterizable and polymorphic adapting automatically to the type of video data they are configured to process.

Simulation

Underpinned by the simulation and debug features of the DK Design Suite and associated Platform Developer Kit libraries and examples, designers have access to functional and cycle accurate simulations of complete video system models.

Implementation

PixelStreams can be used on any hardware platform supported by the DK Design Suite provided the platform has suitable video data sources and sinks. Complete board support is provided for the RC series platforms. Further platforms can be added by the OEM or designer.

Highlights

  • Manages low-level details of stream control, synchronization and real world interfacing
  • Graphical tool for video and imaging application development
  • Easy to add new library elements to the PixelStreams environment
  • Fully integrated with RC series platforms and DK Design Suite

Customized to FPGA target architectures

The PixelStream library components have optimized implementations for a number of popular FPGA platforms. When coupled with DK and the RC Computing Platform, PixelStreams provides a very fast path from algorithm to efficient hardware prototype.

 
Online Chat