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.
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:
- color space conversion
- coordinate transforms
- 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.
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.
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.
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.
- 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.
DK Design Suite
Product Overview: DK Design Suite - Handel-C™ offers a software flow for algorithm development, optimization and acceleration in embedded systems. Validate performance and improve product quality in less time and with...